如果我获取 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/