Povedať, že som niečo ako toto:
void myFunk(std::vector<T>& v, std::vector<T>::iterator first, std::vector<T>::iterator last) {
while (first != last) {
if ((*first) > (*last)) {
T someT;
v.push_back(someT);
}
first++;
}
}
int main(){
std::vector<T> foo = {some, T, values};
myFunky(foo, foo.begin(), foo.end())
return 0;
}
Bolo by to viesť k nekonečnej slučke, alebo by to koniec, potom foo.size()
iterácie? Inými slovami, ako by sa last
iterator byť aktualizované foo
rástla, alebo by to zachovať hodnoty uvedené v vyvolanie funkcie?
Ja som za predpokladu, last
by sa zmeniť, pretože je ukazovateľ na miesto, ale rád by nejaké potvrdenie.