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());
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());
相关文章推荐
- 输入输出(IO)简介
- 单词翻转(4种思路,C/C++代码)
- void,void *
- C语言柔性数组
- c语言,读取一个内容长度未知的文本文件。
- c++指针的指针和指针的引用
- C++ limits头文件
- C语言:标识符
- C++中的指针与引用详细解读
- C语言中数据类型所占字节数总结
- Eclipse支持 C++ 11
- C语言运算符优先级和口诀
- C语言:变量定义
- 【C++专题】static_cast, dynamic_cast, const_cast探讨
- C++中常见类型转换
- 1008. 数组元素循环右移问题 (20)
- 【C++】:关于C++的这些概念你知道吗?
- C++三大函数(The Big Three)
- C++学习笔记(四)
- C++ 栈 与 堆 【GeekBand 第二周】