use*_*378 5 c++ memory memory-management vector
我想创建一个代表某种结构的元素向量.
问题是我不知道结构会有多少元素,因为数字会经常变化,我真的不知道如何创建一个矢量.
怎么做到的?
为了使它更清楚:
我在创建矢量时看到了这样的事情:
std::vector<structureType> vectorName(nrOfElements);
Run Code Online (Sandbox Code Playgroud)
括号内我不知道元素的数量和在那里写的内容.
jua*_*nza 12
如果默认构造向量,则会得到一个空向量:
std::vector<structureType> vectorName; // holds 0 elements
Run Code Online (Sandbox Code Playgroud)
然后你可以将元素推入向量,增加其大小(另请参见其他向量修饰符):
vectorName.push_back(someStructureTypeInstance);
Run Code Online (Sandbox Code Playgroud)
这可能适合您的需求.如果您担心将来的内存重新分配,可以std::vector::reserve在构造向量后使用.
std::vector<structureType> vectorName; // holds 0 elements
vectorName.reserve(100); // still 0 elements, but capacity for 100
Run Code Online (Sandbox Code Playgroud)