您的位置:首页 > 编程语言 > C语言/C++

C++ erase()用法技巧

2016-05-19 16:30 344 查看
在STL中erase()函数原型为:

iterator erase( iterator loc );

iterator erase( iterator start, iterator end );

在删除容器内指定的匹配元素时,我们倾向于用remove()。但是remove()函数有个特点就是它并不是物理上进行删除,而是逻辑删除,就是说将匹配的元素移动到末尾,然后返回的迭代器iterator指向新的移动元素末尾。为了从物理上根本删除匹配元素,减少容器size。我们采用两者结合方式,假定容器为vector< string > st;可以有 st.erase(remove(st.begin(),st.end(),T &value),st.end());
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: