For(auto &a:b)
时间: 2024-09-08 12:02:24 浏览: 34
`for(auto &a : b)` 是C++11标准引入的基于范围的for循环语法,用于遍历容器或数组中的每个元素。这种循环方式的语法简洁,易于理解,可以直接对容器或数组中的每个元素进行操作,而无需手动处理迭代器或索引。
这种循环的语法结构如下:
```cpp
for (auto& element : container) {
// 对element进行操作
}
```
其中,`container` 是你想要遍历的容器或数组,`element` 是容器中每个元素的副本,`auto` 关键字用于让编译器自动推导元素的类型,`&` 表示`element`是一个引用,这样做的好处是在循环中对`element`的任何修改都会直接反映到`container`中的对应元素上。
下面是一个简单的例子:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 使用基于范围的for循环来遍历vec
for(auto& num : vec) {
num *= 2; // 将每个元素的值翻倍
}
// 输出修改后的vec中的元素
for(auto num : vec) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
在这个例子中,基于范围的for循环首先将`vec`中的每个元素的值翻倍,然后输出修改后的`vec`。