Я хотел бы заполнить 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
(в любом случае, если ваш компилятор достаточно новый, чтобы его поддерживать).