如何在调整大小的std :: vector的最后一个元素之后插入?

dan*_*jar 2 c++ vector std push-back

我知道我最初需要多少空间std::vector.所以我用它.resize()来设置那个大小的新矢量.但是在使用.push_back()之后,它会在分配大小的末尾添加元素,将其增加1.

如何在已调整大小的向量的空位中自动添加新元素?

jua*_*nza 6

如何在已调整大小的向量的空位中自动添加新元素?

这就是你在做什么.resize用值初始化元素填充新空间,因此没有"空位".好像你需要打电话std::vector::reserve.

std::vector<int> v{1,2,3,4}; // size = 4
v.reserve(100); // size = 4, capacity = 100
v.push_back(5); // no re-allocations. size  5.
Run Code Online (Sandbox Code Playgroud)