【发布时间】:2017-01-09 14:26:39
【问题描述】:
正如answer to another question 中所指出的,在将新元素添加到该向量后,指向向量元素的所有指针都可能变得无效,这是由于底层连续缓冲区的重新分配。
有没有一种安全的方法可以在编译时处理这个问题?
是否有最佳实践来处理或避免在更改数据结构后引用可能变得无效的情况?
【问题讨论】:
-
在 c# 中,当我在迭代器处于活动状态时添加元素时会出现异常。我可以在 C++ 中重新创建这种行为吗?
-
我可以告诉编译器在我存储对向量中元素的引用时抛出错误吗?如果是这样,我可能会通过始终按索引获取元素来解决此问题。
标签: c++ vector reference compiler-warnings stdvector