为了账号安全,请及时绑定邮箱和手机立即绑定

C++ vector iterator问题

C++ vector iterator问题

C++
料青山看我应如是 2018-12-31 00:00:07
C++ vector iterator问题
查看完整描述

1 回答

?
守着一只汪

TA贡献1872条经验 获得超3个赞

iterator是不会变的,真正变化的是容器内部指针,因为push_back的时候重新分配内存

首先,vector好用是因为不用担心内存问题,不够了会重新分配,而且用完自动回收,你这几个push_back都是可能引起重新分配的,可以尝试把vector<int> ivec;改成vector<int> ivec(3,0);//初始化为3个0

其次,iterator就只是一个包装好的指针,当vector的内存重新分配之后,它不会自动指向新的内存,所以造成指针越界,输出不可预测的值

查看完整回答
反对 回复 2019-01-16
  • 1 回答
  • 0 关注
  • 542 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信