我正在考虑为特定类型重载std :: shared_ptr的相等和排序运算符。如果我有以下
struct Foo { /* Stuff */ };
bool operator==( const std::shared_ptr<Foo>& lhs, const std::shared_ptr<Foo>& rhs )
{
// Do something reasonable for equality using the Foo instances
}
所以这意味着平等将不再只是指针平等。这样做会有缺点或一些难看的陷阱吗?
答案 0 :(得分:0)
完全违法并被标准禁止。随之而来的是可怕的鼻子恶魔。