c++ - 如何从列表中删除重复项

标签 c++ stl

我有自定义类 Person,它只包含关于人的数据(姓名、姓氏、高度……)。我有几个指向 Person 的指针列表,比如

list<Person*> list1;
list<Person*> list3;
list<Person*> list2;

然后连接

使用 std::copy()std::back_insert_iterator<std::list<Person*> >

如何从列表中删除重复项(仅指向相同内存垃圾的指针,而不是删除该内存,仅从列表中删除指针)?

最佳答案

如果您不介意重新排序列表:

list.sort()
list.unique()

关于c++ - 如何从列表中删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11827664/

相关文章:

c++ - 从 ‘std::wstring {aka std::basic_string<wchar_t>}’ 到非标量类型 ‘UString {aka std::basic_string<char>}’ 的转换

c++ - 插入一个 std::list 元素到 std::list

c++ - 为什么我的变量在应用位移运算符后没有改变?

c++ - 根据关键字分行(有拼写错误)

c++ - CFLocaleCopy当前陈旧值

c++ - std::ifstream::open() 不工作

c++ - 对于具有线性存储的容器,可以使用原始指针而不是具有 STL 算法的迭代器吗?

c++ - 在不使用 #include 的情况下使用另一个类中的函数

c++ - 动态创建和填充数组

c++ - 为第二个范围内的重复项设置差异,替代 remove_copy