c++ - 当向量调整其容量时,C++ 会发生什么引用?
问题描述
假设我们有一个对向量中元素的引用。(我不确定引用后面会发生什么,但我猜引用包含指向确切元素的指针。)
我们不断地把东西推入那个向量,然后它达到它的容量,然后调整自己的大小。调整大小时发生的情况是它可能会在内存中请求一个新空间,然后将原始数据复制到新空间。现在参考点变得不确定的内存。
我不确定我的猜测是否正确。这会发生吗?或者我的理解是错误的......如果是这样的话,那么使用对容器元素的引用可能是危险的......
解决方案
你是对的,当向量容量增加时,新的内存被分配并且所有指向向量元素的引用/指针/迭代器都失效了。
推荐阅读
- python-3.x - 安装anaconda后无法导入ffn
- c# - 在不使 LINQ/ADO.NET Entity Framework + SQL Server 崩溃的情况下,可以安全地进行哪些架构更改
- c# - 使用不同用户 Unity-Smartfoxserver 连接服务器的问题
- javascript - 类型“null”不可分配给类型“Dispatch” | 反应商店
- php - 从 PHP 连接到 SQL Server 2000
- java - 如何在井字游戏 Java 游戏中添加得分记录系统
- python - python中类变量的惊人行为
- python - 如何分隔列表中的变量:返回字母数字或数值
- python - 找不到模块“...Python38\lib\site-packages\lightgbm\lib_lightgbm.dll”
- r - 为什么 adabag 中的预测误差是离散的?