Ich möchte ein vector<int>
using ausfüllen std::fill
, aber anstelle eines Wertes sollte der Vektor Zahlen in aufsteigender Reihenfolge enthalten.
Ich habe versucht, dies zu erreichen, indem ich den dritten Parameter der Funktion um eins iterierte, aber dies würde mir nur Vektoren geben, die mit 1 oder 2 gefüllt sind (abhängig von der Position des ++
Operators).
Beispiel:
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
stattdessenstd::fill
(vorausgesetzt, Ihr Compiler ist neu genug, um ihn zu unterstützen).