c++ - std::vector 本身的地址稳定吗?

标签 c++ vector

如果我获取 std::vector 的地址,并且它在插入元素后重新分配,我可以假设它的地址没有改变吗?

谢谢。

最佳答案

是的,在 C++ 中你可以安全地假设。但是,第一个元素的地址&x[0] 可以改变,那些地址是不一样的。 编辑:当然其他元素的地址也是一样。


顺便说一下,第一个元素的地址是否可能保持或多或少的稳定取决于whether or not the growth factor of the array is less than the golden ratio。 ,这是了解 IMO 的一个非常酷的事实。

关于c++ - std::vector 本身的地址稳定吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28285259/

相关文章:

c++ - 相似数值类型的模板冲突

c++ - 从构造函数中将 "this"传递给函数?

c++ - 查找 C++ 矩阵中最大元素的索引?

C++使用算法过滤类 vector

c++ - 如何将 std::vector<float> 转换为 float 数组?

c++ - Bison: what(): basic_string::_S_construct null 无效

c++ - 在库开发中使用基类中的派生方法

c++ - 使用malloc/free模拟new/delete

r - 查找字符串列表的每个元素与 R 中向量的每个字符串之间的匹配(避免 'for' )

c++ - 与指针一起使用时未声明“开始”