List循环遍历时向列表中add元素如何避免发生异常 吴士宏 • 2023-5-16 • IT百科 • 阅读 11 list集合有个特点,比如说一个list里面有三个元素a,b,c,对应的索引分别是0,1,2。当调用remove(0)时,list会移除a这个元素,这个时候list里面的元素就变成b,c,对应的索引值分别为0,1。这个时候list的size已经变成了2,但是如楼主的for循环的话,循环的上限还是最开始的list的size值,也就是3。如此下去每移除一个元素的时候,list的索引取值范围都会变小,最后如果remove(i)中i的值超出了当前集合的范围了,就会报异常把 类里的迭代器声明去掉,在循环的位置在直接初始化并使用。迭代器的申明也不对。迭代器也是个对象,所以跟普通变量的申明一样的。list<Student>::iterator its = list.begin()这样就可以了。 欢迎分享,转载请注明来源:内存溢出原文地址: http://outofmemory.cn/bake/11522200.html 元素 循环 索引 会报 申明 赞 (0) 打赏 微信扫一扫 支付宝扫一扫 吴士宏 一级用户组 0 0 生成海报 有ipcore的情况下ise如何生成网表文件 上一篇 2023-05-16 怎么写存储过程,向数据库中批量插入数据? 下一篇 2023-05-16 发表评论 请登录后评论... 登录后才能评论 提交 评论列表(0条)
评论列表(0条)