在 C++ 中,vector 是一种动态数组,它提供了许多方便的成员函数和操作符,包括迭代器(iterator)的使用。使用 vector 的迭代器可以方便地遍历 vector 中的所有元素。
下面是使用 vector 迭代器的示例代码:
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 使用begin()和end()函数获取迭代器的起始和终止位置
for (std::vector<int>::iterator it = vec.begin(); it != vec.end(); ++it) {
std::cout << *it << " ";
}
return 0;
}
在上面的代码中,我们首先包含了 <iostream> 和 <vector> 头文件,然后定义了一个 vector<int> 对象 vec,并初始化了其中的元素。接下来,我们使用 begin() 和 end() 函数获取了迭代器的起始和终止位置,并使用一个 for 循环遍历了 vec 中的所有元素,并将它们打印出来。
在 for 循环中,我们使用了迭代器 it 来访问 vec 中的每个元素。迭代器的类型是 std::vector<int>::iterator,它是一个指针类型,指向 vector 中的元素。我们可以通过解引用迭代器 *it 来访问 vector 中的当前元素。
除了使用 begin() 和 end() 函数获取迭代器的起始和终止位置外,还可以使用 rbegin() 和 rend() 函数获取反向迭代器的起始和终止位置。反向迭代器可以用于反向遍历 vector 中的元素。
下面是一个使用反向迭代器的示例代码:
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 使用rbegin()和rend()函数获取反向迭代器的起始和终止位置
for (std::vector<int>::reverse_iterator rit = vec.rbegin(); rit != vec.rend(); ++rit) {
std::cout << *rit << " ";
}
return 0;
}
在上面的代码中,我们使用了 rbegin() 和 rend() 函数获取了反向迭代器的起始和终止位置,并使用一个 for 循环反向遍历了 vec 中的所有元素,并将它们打印出来。注意,反向迭代器的解引用操作符是 *,而不是 ->。