我有一个
class Widget;
std::list<Widget*> listOfPointers;
其中listOfPointers
可能包含两个或多个指向同一对象的指针。所有指针都指向在堆上一一创建的对象,它们不是同一个数组的成员。
我怎样才能摆脱重复?
我试过:
listOfPointers.sort();
listOfPointers.unique();
但这是未定义的行为,因为在我的问题中没有为指针定义运算符 <。
我可以使用定义的运算符 == 将每个指针相互比较,但这会导致二次复杂度。