如何在C++中声明后初始化一个不同大小的std :: vector?

Aar*_*eng -1 c++ initialization vector

我需要做以下事情:

vector<int> v;
int flag = 0;

if (flag) {
// initialize v with size 100;
} else {
// initialize v with size 0;
}
...
if (flag) {
// do something with v, given flag != 0
} else {
// don't do with v.
}
Run Code Online (Sandbox Code Playgroud)

这样做的正确方法是什么?谢谢!

πάν*_*ῥεῖ 6

您可以使用该std::vector::resize()功能执行此操作:

if (flag) {
     v.resize(100);
} else {
     // Don't need v at all; initialize v with size 0;
}
Run Code Online (Sandbox Code Playgroud)