我有一种情况,我想将由 shared_ptr 封装的对象与在堆栈上创建的相同类型的对象进行比较。目前,我正在获取原始指针并取消引用它以进行比较,例如:
Object A;
std::shared_ptr<Object> B;
// assume class Object has its comparison operators overloaded
if ( *B.get() < A )
// do stuff here
有一个更好的方法吗?这是假设当两个对象相遇并相互比较时,一个是 shared_ptr 而另一个不是。