【发布时间】:2011-09-08 22:44:56
【问题描述】:
C++ 教科书和线程,如these 说向量元素在内存中物理上是连续的。
但是当我们执行v.push_back(3.14) 之类的操作时,我会假设 STL 正在使用 new 运算符来获取更多内存来存储刚刚引入向量中的新元素 3.14。
现在假设大小为 4 的向量存储在标记为 0x7, 0x8, 0x9, 0xA 的计算机内存单元中。如果单元格0xB 包含一些其他不相关的数据,3.14 将如何进入此单元格?这是否意味着单元格0xB 将被复制到其他地方,被删除以腾出空间给3.14?
【问题讨论】: