问题描述
我正在使用C ++中的<algorithm>
库。
我正在std::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
(和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;} );