向量的重新分配是否会导致父向量的重新分配?
Does reallocation of a vector leads to a reallocation of the parent vector?
看下面的代码片段。在所有平台上的所有情况下输出是否总是false ?
std::vector<std::vector<int>> array(5);
array[0].resize(1);
std::vector<int>* arr_start = array.data();
int* p_start = array[0].data();
while( p_start == array[0].data())
{
array[0].push_back(0);
}
std::cout << "Does a reallocation in a vector leads to a reallocation in the parent vector? "
<< array.data() != arr_start;
只允许对vector
进行某些操作导致重分配。对vector
的元素的操作永远不会这样做。
元素本身是一个vector
的事实并没有改变这一点
相关文章:
- 用字符串的向量分配字符串向量
- 如何将向量分配给参考变量?
- 如何将C++向量分配给非表全局变量
- 向量分配上的 C++ 分割错误
- 如何将int分解为数字并以相同的顺序为向量分配数字
- 将向量分配给一个元素
- 将向量分配给向量向量的向量时,向量是范围的
- 带有Valgrind的C 的向量分配中的内存泄漏
- 将向量分配给另一个
- 为向量分配内存
- 为结构的整个向量分配结构的元素
- 将向量分配给结构的向量字段
- C++对象的向量:分配对象
- C++:通过从映射向量分配映射实例来填充映射的映射
- 将儿童的向量分配给祖父母的向量
- 使用 std::向量分配的类比 LOT 的指针分配慢
- C++ 向量分配问题
- 为什么向量分配会改变分配的向量
- 在C++中初始化向量时,你能给向量分配一个大的内存块吗
- 向量分配中的问题