【发布时间】:2012-08-13 17:01:11
【问题描述】:
我正在尝试删除向量中数字的重复项。我用它来做到这一点:
vec1.erase( unique(vec1.begin(),vec1.end()) ,vec1.end());
用谷歌找到它,它工作得很好,我的问题是为什么? 根据我在 cplusplus 上阅读的内容,erase 从第一个参数删除到最后一个参数。 例如:
vec1.erase(vec1.begin(),vec1.begin()+3); //removes first 3 elements
和 unique 返回指向第一个副本的指针,所以在更简单的版本中,我正在写的是:
vec1.erase(first duplicate, vec1.end());
我的向量不应该在第一次复制后结束吗?
【问题讨论】:
-
cplusplus 不是很好的参考。尝试阅读cppreference。