名前空間
変種
操作

std::shared_ptr<T>::unique

提供: cppreference.com
< cpp‎ | memory‎ | shared ptr
 
 
ユーティリティライブラリ
汎用ユーティリティ
日付と時間
関数オブジェクト
書式化ライブラリ(C++20)
(C++11)
関係演算子 (C++20で非推奨)
整数比較関数
(C++20)
スワップと型操作
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
一般的な語彙の型
(C++11)
(C++17)
(C++17)
(C++17)
(C++17)

初等文字列変換
(C++17)
(C++17)
 
動的メモリ管理
未初期化記憶域
ガベージコレクションサポート
その他
(C++20)
(C++11)
(C++11)
C のライブラリ
低水準のメモリ管理
 
 
bool unique()constnoexcept;
(C++17で非推奨)
(C++20で削除)

*this が現在のオブジェクトを管理している唯一の shared_ptr インスタンス、すなわち use_count()==1 かどうかを調べます。

目次

[編集]引数

(なし)

[編集]戻り値

*this が現在のオブジェクトを管理している唯一の shared_ptr インスタンスであれば true、そうでなければ false を返します。

[編集]ノート

マルチスレッド環境では use_count が概算でしかないため (use_count のノートを参照してください)、この関数は C++17 で非推奨になり、 C++20 で削除されました。

[編集]

#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 オブジェクトの数を返します
(パブリックメンバ関数)[edit]
close