博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vector 容器erase() 错误用法
阅读量:3966 次
发布时间:2019-05-24

本文共 629 字,大约阅读时间需要 2 分钟。

vector 容器erase() 错误用法 笔记

在用vector刷题时碰到的基本出现错误的代码如下

int main(void) {  vector
nums; int num[] = {1,3,4}; int len = sizeof(num) / sizeof(num[0]); nums.assign(num,num+len); auto iter_slow = nums.begin(); vector
::iterator iter = nums.begin() + 1; //demo //删除了第一个元素后iter_slow 指向了 第二个元素3 //而iter指向了4这个元素 iter_slow = nums.erase(iter_slow); iter++; for (auto temp = nums.begin(); temp != nums.end(); temp++) { cout << *temp << "\t"; } return 0;}

程序执行完iter++ 后指接报错,瞬间崩溃,我没有找出错来,问了老师,老师说:"vector容器是基于数组实现的,你用了erase()方法数组里的数据发生移动,你不能把vector容器当链表使用."老师这么一说我秒懂,我自己怎么会犯如此低级的错误.我对容器用的还不够熟练啊😂😂

转载地址:http://pbyki.baihongyu.com/

你可能感兴趣的文章
android 之输入法
查看>>
Android4.0之后添加虚拟按键方法
查看>>
将自定义输入法设置为系统默认输入法
查看>>
Android Studio大课堂 - 6.2.打包 - 友盟多渠道包示例
查看>>
实用的欢迎页开源库 AppIntro
查看>>
Windows使用VNC viewer访问Ubuntu 14.04远程桌面的简单方法
查看>>
Android编译大全(六)
查看>>
TVS测试波形比较,让您更懂TVS
查看>>
yum安装对于下载总是失败的rpm包如何处理
查看>>
快速由PCI迁移到PCIe
查看>>
CCD和CMOS图像传感器的快门
查看>>
视频跟踪算法
查看>>
图像处理技术在视频监视中的应用
查看>>
DM8168 HDVPSS中的显示输出
查看>>
光电系统中的视频处理技术
查看>>
NRZ NRZI及扰码等串行编码技术的基本概念
查看>>
ADV7604介绍(一)
查看>>
无人机光电系统图像处理模块
查看>>
VP6802高清视频处理模块
查看>>
VP6802S01高清视频输入模块
查看>>