vector中erase用法注意事项
来源:互联网 发布:js时间戳相减 编辑:程序博客网 时间:2024/06/05 14:29
vector::erase():从指定容器删除指定位置的元素或某段范围内的元素
vector::erase()方法有两种重载形式
如下:
iterator erase( iterator _Where);
iterator erase( iterator _First, iterator _Last);
如果是删除指定位置的元素时:
返回值是一个迭代器,指向删除元素下一个元素;
如果是删除某范围内的元素时:返回值也表示一个迭代器,指向最后一个删除元素的下一个元素;
看下面的程序,目的是删除数组里面的所有值为6的元素:
运行结果输出1362,可见其中一个6并未删除,这是迭代器的问题。
原因在于erase以后,itor已经指向下一个元素了,不应该在itor++,否则会跳过下一个元素,即连续两个6时跳过了第二个6.
另外,在itor2=itor时,两个itor是一样的,这样做并无意义。可修改如下:
或者:
也可以使用remove方法:
array.earse( remove(array.begin(), array.end(),6), array.end() );
0 0
- vector中erase用法注意事项
- vector中erase用法注意事项
- vector中erase用法注意事项
- vector中erase用法注意事项
- vector中erase用法注意事项
- vector中erase用法注意事项
- vector中erase用法注意事项
- vector中erase用法注意事项
- vector中erase用法注意事项
- vector中erase用法注意事项
- vector中erase用法注意事项
- vector中erase用法注意事项
- vector中erase用法注意事项
- vector中erase用法注意事项
- vector中erase用法注意事项
- vector中erase用法注意事项
- vector中erase用法注意事项
- vector中erase用法注意事项
- NB-IoT,运营商蜂窝物联网的“强心针”
- 二 MFC编程入门之VS2010/MFC应用程序框架
- Material Design控件之二Snackbar
- GPU performance tunning
- visual format string
- vector中erase用法注意事项
- 2016xctf一道ctf题目
- Xilinx 官方example的TCL使用
- 关于iOS Tabbar的一些设置
- 常见的RuntimeException
- 7.4.2 程序中断方式
- proc文件系统的使用
- Xcode 8 升级 Swift 3.0 问题。
- iOS开发 指定页面关闭右滑手势返回功能