C++ vector 元素数量变化不能使用范围 for

如果循环体内部包含有向vector对象添加元素的语句,则不能使用范围for循环,具体原因将在5.4.3节(第168页)详细解释。

WARNING范围for语句体内不应改变其所遍历序列的大小

▲《C++ Primer》 P91


不能在范围 for 循环中向 vector 对象添加元素。另外一个限制是任何一种可能改变vector对象容量的操作,比如 pushback,都会使该 vector对象的迭代器失效。9.3.6节(第315页)将详细解释迭代器是如何失效的。

WARNING:谨记,但凡是使用了迭代器的循环体,都不要向迭代器所属的容器添加元素。

▲《C++ Primer》 P99


posted @   double64  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2022-09-18 中介者模式
2022-09-18 状态模式
2022-09-18 观察者模式
2022-09-18 适配器模式
2021-09-18 C# 集合之 ArrayList
2021-09-18 英语|你能明白我的意思吗
点击右上角即可分享
微信分享提示