Říkají, že mám něco jako tohle:
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;
}
By to vést k nekonečné smyčce, nebo by to skončilo po foo.size()
iterace? Jinými slovy, by last
iterator být aktualizovány foo
vyrostl, nebo by to zachovat hodnotu uvedenou ve volání funkce?
Já jsem za předpokladu, že last
by se změnit, protože je to ukazatel na pozici, ale rád bych nějaké potvrzení.