说我有事情是这样的:
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;
}
这将导致一个无限循环,或者将它结束后 foo.size()
迭代? 换句话说,会的 last
迭代进行更新 foo
的增长,或将它保留的价值给予在功能的电话?
我假设 last
会改变,因为它是一个指向一个位置,但想一些的确认。