Я хотів би заповнити vector<int>
використання 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
(якщо припустимо, ваш компілятор є достатньо новим для його підтримки).