vector 的正向迭代器和反向迭代器之间进行等于比较的例子
时间: 2024-06-15 16:07:05 浏览: 172
vector是C++标准库中的一个容器,它提供了正向迭代器和反向迭代器来遍历容器中的元素。正向迭代器用于从容器的起始位置开始遍历元素,而反向迭代器则从容器的末尾位置开始遍历元素。
下面是一个例子,展示了如何使用正向迭代器和反向迭代器进行等于比较:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 使用正向迭代器遍历容器
std::vector<int>::iterator it = vec.begin();
for (; it != vec.end(); ++it) {
if (*it == 3) {
std::cout << "找到了值为3的元素" << std::endl;
break;
}
}
// 使用反向迭代器遍历容器
std::vector<int>::reverse_iterator rit = vec.rbegin();
for (; rit != vec.rend(); ++rit) {
if (*rit == 3) {
std::cout << "找到了值为3的元素" << std::endl;
break;
}
}
return 0;
}
```
在上述代码中,我们首先使用正向迭代器`vec.begin()`和`vec.end()`来遍历容器vec中的元素。在遍历过程中,我们通过`*it`来访问当前迭代器指向的元素,并与3进行比较。
接着,我们使用反向迭代器`vec.rbegin()`和`vec.rend()`来从容器vec的末尾开始遍历元素。同样地,我们通过`*rit`来访问当前迭代器指向的元素,并与3进行比较。
请注意,正向迭代器和反向迭代器之间不能直接进行等于比较,因为它们是不同类型的迭代器。但是,我们可以通过解引用操作符`*`来获取迭代器指向的元素,并将其与目标值进行比较。
阅读全文