我想填充一个vector<int>
using std::fill
,但此向量后应包含一个数字,而不是一个值。
我尝试通过将函数的第三个参数迭代一个来实现此目的,但这只会给我一个填充有1或2的向量(取决于++
运算符的位置)。
例:
vector<int> ivec;
int i = 0;
std::fill(ivec.begin(), ivec.end(), i++); // elements are set to 1
std::fill(ivec.begin(), ivec.end(), ++i); // elements are set to 2
std::iota
代替std::fill
(假设您的编译器足够新以支持它)。