c++ remove() erase() 区别
2017-01-30 18:33
183 查看
remove(begin(), end(), val):
返回新的end()迭代器但是不改变原来数组的end()迭代器的值,将范围内值等于val的元素用后一个元素替代。原先数组中 新的end()至原end()范围内的值仍为原来数组的值,但是这部分状态不可靠。
erase()://参数填迭代器或者迭代器,长度
返回下一个元素的迭代器且改变原来数组的end()迭代器的值,将范围内的值用下一个元素替代。
区别:
返回值不同,是否改变了原数组的end()的值。
返回新的end()迭代器但是不改变原来数组的end()迭代器的值,将范围内值等于val的元素用后一个元素替代。原先数组中 新的end()至原end()范围内的值仍为原来数组的值,但是这部分状态不可靠。
erase()://参数填迭代器或者迭代器,长度
返回下一个元素的迭代器且改变原来数组的end()迭代器的值,将范围内的值用下一个元素替代。
区别:
返回值不同,是否改变了原数组的end()的值。
相关文章推荐
- C++中Vector的erase()操作以及与remove的区别
- C++ STL 中 remove 和 erase 的区别
- C++ STL 中 remove 和 erase 的区别 http://www.xuebuyuan.com/1422428.html
- C++ 迭代器删除remove/erase
- vector中的erase方法跟algorithm的remove有什么区别?
- STL:remove和erase区别
- C++为什么remove以后需要erase
- C++进修之STL(一)—— erase和remove特异行动
- C++复习之STL(一)—— erase和remove特异行为
- C++进修之STL(一)—— erase和remove特异行动
- C与C++的区别
- C++和C#的语法和功能区别
- C++.NET与C#的编码区别 ,vb.net与c#的语法比较
- C++和C#的语法和功能区别
- c-c++语法区别之一
- C++和C#的语法和功能区别
- C++点滴:向函数中传递指针和传递指针的引用的区别:
- C#和C++的主要区别
- 明晰C++内存分配的五种方法的区别
- C/C++数组名与指针区别深入探索