C++ 未分配矢量值
C++ Vector value isn't assigned
首先,是的,我是C++向量的新手。
现在我的问题是,为什么你认为我的向量是空的?
我有一个全局变量:
vector<int> parentVector;
现在,由于它是一个全局变量,我不知道它应该是什么大小,只是稍后进入程序,我在某个时候这样做:
//numberOfNodes = 8 in current example
parentVector.reserve(numberOfNodes);
过了一会儿,我尝试为向量的第一个元素赋值,但它不起作用:
parentVector[0] = -1;
我还执行以下操作,它也不会分配任何值:
//nextNode.node and currentNode.node is between the range of 1 - 8, thus the - 1.
parentVector[nextNode.node - 1] = currentNode.node - 1;
编辑:感谢您的回答,resize() 有效。
使用 std::vector::reserve
在向量中保留空间与向其添加元素不同。保留后,向量仍然为空。请改用std::vector::resize
。
相关文章:
- 将数组的地址分配给变量并删除
- vector.resize()中的分配错误
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- Win32编译器选项和内存分配
- 函数中堆分配的效果与缺少堆分配的情况
- 使用动态分配的数组会导致代码分析发出虚假的C6386缓冲区溢出警告
- 多个文件的内存分配错误"在抛出 'std :: bad_alloc' what (): std :: bad_alloc 的实例后终止调用" [C++]
- 获取字符串的长度并将其分配给数组
- 将地址分配给本地指针后,公共对象的变量将消失
- 递归模板化函数不能分配给具有常量限定类型"const tt &"的变量"state"
- 有没有一种方法可以使用placement new将堆叠对象分配给分配的内存
- 我在二维向量中是否正确分配了内存
- 正在尝试重载二进制搜索树分配运算符
- GlobalAlloc而不是其他分配方法
- 自定义先决条件对移动分配运算符有效吗
- 我可以重新分配/覆盖std::字符串吗
- 在c++中使用动态分配的问题
- 当一个新对象被分配到它的地址时,对象是否必须被销毁
- 为什么我可以使用比分配的内存更多的内存
- 使用RAII在给定次数的迭代后重新分配资源