remove: remove不是真正的删除,删除后数量并没有变化. 它接收一对迭代器,而不是一个容器,所以不知道它作用于哪个容器. 而且没有办法从一个迭代器获取对应于它的容器 实现 remove会用需要保留的数据覆盖掉前面需要删除的数据.然后返回一个需要被删除开始位置的迭代器. 所以通常需要结合erase使用: v.erase(remove(v.begin(),v.end(),1999),v.end()); 如果你想删除带表达式的,那么就需要 erase和remove_if的配合 删除导致迭代器…