bool unique() const noexcept;
|
(C++17 中弃用) | |
检查 *this 是否管理当前对象的仅有 shared_ptr
实例,即是否 use_count() == 1 。
目录 |
(无)
若 *this 否管理当前对象的仅有 shared_ptr
实例则为 true ,否则为 false 。
此函数从 C++17 起被弃用,因为 use_count 在多线程环境中只是近似(见 use_count 的“注意”)。
#include <memory> #include <iostream> int main() { auto sp1 = std::make_shared<int>(5); std::cout << std::boolalpha; std::cout << "sp1.unique() == " << sp1.unique() << '\n'; std::shared_ptr<int> sp2 = sp1; std::cout << "sp1.unique() == " << sp1.unique() << '\n'; }
输出:
sp1.unique() == true sp1.unique() == false
返回shared_ptr 所指对象的引用计数 (公开成员函数) |