【发布时间】:2013-09-29 10:52:23
【问题描述】:
我有一个
class Widget;
std::list<Widget*> listOfPointers;
listOfPointers 可能包含两个或多个指向同一个对象的指针。所有指针都指向在堆上一一创建的对象,而不是同一个数组的成员。
我如何消除重复项?
我试过了:
listOfPointers.sort();
listOfPointers.unique();
但这是自 operator < is not defined for pointers in my problem. 以来未定义的行为
我可以使用定义的 operator== 将每个指针相互比较,但这会导致二次复杂度。
【问题讨论】:
-
感谢编辑,这就是我没有测试的结果。