c++ vector迭代器问题

vector<string>ve(3,"aa");vector<string>::iteratorit=ve.begin();ve.push_back("123");co... vector<string> ve(3,"aa");
vector<string>::iterator it=ve.begin();
ve.push_back("123");
cout << *it << endl;

运行出现段错误!
什么原因啊?
展开
 我来答
BossAlive
2013-12-18
知道答主
回答量:5
采纳率:0%
帮助的人:9.7万
展开全部
一旦你改变了vector的大小,无论是增加元素还是减少元素, 所有的iterator都会无效
你的代码换个位置就好了
vector<string> ve(3,"aa");
ve.push_back("123");
vector<string>::iterator it=ve.begin();
cout << *it << endl;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式