std::shared_ptr<T>::unique
來自 cppreference.com
< cpp | 記憶體 | shared ptr
bool unique() const noexcept; |
(C++17 中已棄用) (C++20 中移除) |
|
檢查 *this 是否是管理當前物件的唯一 shared_ptr
例項,即 use_count() == 1。
目錄 |
[編輯] 引數
(無)
[編輯] 返回值
如果 *this 是管理當前物件的唯一 shared_ptr
例項,則為 true,否則為 false。
[編輯] 注意
此函式在 C++17 中被棄用,並在 C++20 中被移除,因為在多執行緒環境中 use_count() == 1 是無意義的(參見 use_count 中的注意)。
[編輯] 示例
執行此程式碼
#include <iostream> #include <memory> 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 物件的數量(public member function) |