vector<int>
usingを入力したいのですstd::fill
が、1つの値の代わりに、ベクトルには後に昇順で数値を含める必要があります。
関数の3番目のパラメーターを1つ繰り返すことでこれを達成しようとしましたが、これでは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
します(とにかく、コンパイラがそれをサポートするのに十分新しいと仮定します)。