2016-08-15 65 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

如果你想有两个,那么也许使用multiset? – wally

+1

@flatmouse是的我猜是这样,但我的问题是关于我们会对shared_ptr的实际实例感兴趣的情况,而不是它实际指向的情况。 –

+0

听起来像是一个哲学问题或X-Y问题。 – wally

回答