首页 > 解决方案 > 当向量调整其容量时,C++ 会发生什么引用?

问题描述

假设我们有一个对向量中元素的引用。(我不确定引用后面会发生什么,但我猜引用包含指向确切元素的指针。)

我们不断地把东西推入那个向量,然后它达到它的容量,然后调整自己的大小。调整大小时发生的情况是它可能会在内存中请求一个新空间,然后将原始数据复制到新空间。现在参考点变得不确定的内存。

我不确定我的猜测是否正确。这会发生吗?或者我的理解是错误的......如果是这样的话,那么使用对容器元素的引用可能是危险的......

标签: c++

解决方案


你是对的,当向量容量增加时,新的内存被分配并且所有指向向量元素的引用/指针/迭代器都失效了。


推荐阅读