Chciałbym wypełnić vector<int>
użycie std::fill
, ale zamiast jednej wartości wektor powinien zawierać liczby w kolejności rosnącej po.
Próbowałem to osiągnąć, iterując trzeci parametr funkcji o jeden, ale to dałoby mi tylko wektory wypełnione 1 lub 2 (w zależności od pozycji ++
operatora).
Przykład:
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
zamiaststd::fill
(zakładając, że Twój kompilator jest wystarczająco nowy, aby go obsługiwać).