面试题答案
一键面试#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
for (auto it = vec.begin(); it != vec.end(); ++it) {
std::cout << *it << std::endl;
}
return 0;
}
end()
迭代器指向向量中最后一个元素的下一个位置。在边界判断中,使用it != vec.end()
来确保迭代器在遍历过程中不会越界。当迭代器it
到达vec.end()
时,表示已经遍历完所有元素。如果不进行这样的边界判断,在访问超出向量范围的位置时,会导致未定义行为,例如访问非法内存地址,程序可能崩溃。