2016-08-15 6 views
3

shared_ptrが管理する下位型ではなく、shared_ptrインスタンスを比較するのがどのような状況で有効でしょうか?shared_ptrインスタンスを比較するための有効な状況

例として、次のコードの実行後にpersonset 2のサイズが有効になる状況がありますか?

shared_ptr<person> p0 = make_shared<person>(....); 
shared_ptr<person> p1 = p0; 

set<shared_ptr<person>> personset; 

personset.insert(p0); 
personset.insert(p1); 
+0

次の2つが、おそらく多重集合を使用したい場合は? – wally

+1

@flatmouseはい私はそう思いますが、私の質問はshared_ptrの実際のインスタンスに興味を持ち、実際に指しているものではない種類の状況に関するものでした。 –

+0

哲学的な質問やX-Yの問題のように聞こえます。 – wally

答えて

5

インスタンスを比較する実行可能な理由はありません。 Infact shared_ptrsは、デフォルトで、コントロールブロックへの基本ポインタ(.getメソッドを介して)に基づいて等価/不等式コンパレータを実行します。

http://en.cppreference.com/w/cpp/memory/shared_ptr/operator_cmp

関連する問題