shared_ptr管理対象オブジェクトを比較するための標準的な述語はありますか?shared_ptrオブジェクトの等価性を比較する
template<typename T, typename U>
inline bool target_equal(const T& lhs, const U& rhs)
{
if(lhs && rhs)
{
return *lhs == *rhs;
}
else
{
return !lhs && !rhs;
}
}
私は上記のコードに似た何かをしたいが、標準液がすでにある場合はそれを私の自己を定義する避けることができます。
は、あなたがそれらを欽慕することができますので、必要があります:私は先の尖った物体が同じであるとの共有ポインタのいずれかがnullで、もう一つは、それがない場合はfalseを返すかどうかを確認するこのバージョンを提案していますか? – 101010
@ 101010: 'if'ステートメントはそこにあります。なぜなら、あなたはそれらを逆参照できないかもしれないからです。 – MSalters
しかし、逆参照するときにnulptrを処理する必要があります –