C++中vector容器的3种重载形式的插入操作
来源:互联网 发布:淘宝客服服务助手 编辑:程序博客网 时间:2024/06/03 22:06
C++中vector容器不管是插入或者删除,会导致内存重新分配,迭代器也会失效。下面对迭代器失效问题进行分析和解决
#include <iostream>#include <vector>#include <list>#include <deque>using namespace std;void disp(vector<int> & x)//定义disp函数用以输出容器对象所有元素{vector<int>::iterator it = x.begin();while (it != x.end()){cout << (*it) << " ";it++;}}int main(){//1. 创建一个vector<int>容器对象vector<int> obD(5, 0);//2. insert()的重载形式vector<int>::iterator pD = obD.end();//创建迭代器pDpD = obD.insert(pD, 1);//在尾部插入元素,并使迭代器指向新插入的disp(obD);cout << endl;//3. insert()的重载形式obD.insert(pD, 2, 3);//在新插入的元素之前插入两个元素disp(obD);cout << endl;//4. insert()的重载形式pD = obD.begin();//很重要,插入后,原来的迭代器可能失效int sz[3] = {7,8,9};obD.insert(pD, sz, sz + 3);//将两个指针(相当于迭代器)插入到头部disp(obD);cout << endl;//5. 上述插入操作对list, vector, deque三种容器都适合. 可自行测试getchar();return 0;}
0 0
- C++中vector容器的3种重载形式的插入操作
- C++STL中vector容器类的简单操作
- 操作符重载的两种形式
- 【c++】vector容器&set容器的基本操作
- C++STL中vector容器的用法
- C++STL中vector容器的用法
- C++STL中vector容器的用法
- C++STL中vector容器的用法
- C++STL中vector容器的用法
- C++STL中vector容器的用法
- C++STL中vector容器的用法
- C++STL中vector容器的用法
- vector的插入操作
- C++new() 的六种重载形式
- 对vector容器的操作
- C++STL中vector容器 assign()函数的用法
- C++ STL 的vector容器的操作
- 类中重载new的几种形式
- Android手机平板两不误,使用Fragment实现兼容手机和平板的程序
- NSValue用法
- SpringMvc json mapping
- mac使用指南1 - MAC OS下APT-GET YUM类似的工具BREW
- HDU 2^x mod n = 1
- C++中vector容器的3种重载形式的插入操作
- Android Fragment完全解析,关于碎片你所需知道的一切
- linux 集群 配置 免密码登录
- 笔试面试中问到的常见问题总结
- SpringMVC多文件上传实例
- Count on Canton
- java concurrent之前戏synchronized
- windows7下双系统和硬盘安装linux(centos6.5)
- javase的复习----4