4

可能重复:
擦除和删除之间的区别

假设我有一个容器.... 以下是什么意思。

c.erase(remove(c.begin(),c.end(),99),c.end());

擦除和删除不一样吗?上面例子中erase和remove的具体作用是什么?

4

1 回答 1

10

99它从容器中删除所有等于的元素c

std::remove实际上并没有删除任何元素。它将所有感兴趣的元素移动到容器的第二部分,并返回一个迭代器,指示其中的第一部分。然后erase成员函数采用一个迭代器范围来实际从容器中删除元素。

请参阅擦除删除习语

于 2012-12-14T07:52:18.963 回答