如果我不先初始化它,我如何使用向量?

How can I work with vectors if I don't initialize it first?

我正在使用 C++ 中的 <algorithm> 库。 我有 std::vector.

的练习

如果我不先像这样初始化它,我怎么能使用vector std::vector<int> v(10,0);

std::vector<int> vec;
int i = 0;
std::generate_n(vec, 10, [int& i](){i += 10; return i});

我希望它是 vec={10,20,30,40,50,60,70,80,90,100}

可以使用std::back_inserter (and std::back_insert_iterator),它在容器上执行push_back插入元素。例如

std::vector<int> vec;
vec.reserve(10); // if the size could be determined in advance
int i=0;
std::generate_n(std::back_inserter(vec), 10, [&i](){i+=10; return i;} );