在 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
中的所有元素,并将它们打印出来。注意,反向迭代器的解引用操作符是 *
,而不是 ->
。