cpp遍历vector方式
时间: 2024-09-10 14:12:24 浏览: 45
在C++中,可以使用多种方式遍历vector容器。以下是其中几种常见的方式:
1. 使用迭代器遍历:
```cpp
std::vector<int> myVector = {1, 2, 3, 4, 5};
std::vector<int>::iterator it;
for (it = myVector.begin(); it != myVector.end(); ++it) {
int value = *it;
// 对value进行操作
}
```
这种方式是遍历vector的最常见方式之一,可以使用迭代器指向vector中的任意位置,并通过`++it`的方式进行迭代。注意,在使用迭代器之前,需要使用`myVector.begin()`获取vector的第一个元素的迭代器,使用`myVector.end()`获取vector末尾元素的迭代器。
2. 使用下标操作遍历:
```cpp
std::vector<int> myVector = {1, 2, 3, 4, 5};
int value;
for (int i = 0; i < myVector.size(); ++i) {
value = myVector[i];
// 对value进行操作
}
```
这种方式是通过下标操作符`[]`来访问vector中的元素,这种方式在遍历vector时更加直观和简单。注意,这种方式只能遍历vector中的元素,不能修改vector中的元素。
3. 使用`std::for_each`函数遍历:
```cpp
std::vector<int> myVector = {1, 2, 3, 4, 5};
std::vector<int> resultVector(myVector.size()); // 创建一个新的vector用于存放遍历结果
std::for_each(myVector.begin(), myVector.end(), [](int value) {
resultVector.push_back(value * 2); // 对value进行操作并将结果存入新的vector中
});
```
这种方式使用C++标准库中的`std::for_each`函数来遍历vector中的元素,并将元素的值作为参数传递给lambda表达式。这种方式更加灵活,可以根据需要使用不同的lambda表达式来实现不同的遍历逻辑。注意,这种方式会修改传入的vector中的元素。
以上是几种常见的遍历vector的方式,可以根据具体需求选择合适的方式。
阅读全文