面试题答案
一键面试vec.begin()
返回的迭代器类型:- 当
vec
是const std::vector<int>
类型时,vec.begin()
返回的迭代器类型是std::vector<int>::const_iterator
。
- 当
- 特点:
std::vector<int>::const_iterator
类型的迭代器只能读取vector
中的元素,不能修改元素的值。这是因为vec
是常量对象,不允许对其内容进行修改。
- 代码示例:
#include <iostream>
#include <vector>
int main() {
const std::vector<int> vec = {1, 2, 3, 4, 5};
std::vector<int>::const_iterator it;
for (it = vec.begin(); it != vec.end(); ++it) {
std::cout << *it << " ";
}
std::cout << std::endl;
return 0;
}
在上述代码中,使用const_iterator
类型的迭代器it
遍历常量vector
vec
,并输出其中的元素。注意不能通过it
修改vec
中的元素,例如*it = 10;
这样的操作是不允许的,会导致编译错误。