未分配C ++ Vector值

时间:2013-10-27 12:56:27

标签: c++ vector

首先,是的,我是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;

编辑:感谢您的回答,调整大小()工作。

1 个答案:

答案 0 :(得分:3)

使用std::vector::reserve在向量中保留空间与向其添加元素不同。保留向量后仍然是空的。请改用std::vector::resize