nge-based for写法
时间: 2024-02-04 22:19:25 浏览: 148
nge-crx插件
range-based for循环是C++11引入的一种新的循环语法,用于遍历容器中的元素。它的写法如下:
```c++
for (auto& elem : container) {
// do something with elem
}
```
其中,container是要遍历的容器,elem是容器中的元素,auto&表示elem是一个引用类型,可以修改容器中的元素。容器可以是任何支持迭代器的类型,例如:数组、vector、list、set、map等。
例如,以下代码使用range-based for循环遍历一个vector:
```c++
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
for (auto& elem : vec) {
std::cout << elem << " ";
}
std::cout << std::endl;
return 0;
}
```
输出结果为:1 2 3 4 5。
需要注意的是,range-based for循环只能用于遍历容器中的元素,不能用于遍历数组的下标。如果需要遍历数组,可以使用标准库的begin和end函数获取数组的迭代器。例如:
```c++
int arr[] = {1, 2, 3, 4, 5};
for (auto& elem : arr) { // 错误的写法,elem是数组元素的副本,不能修改原数组
// do something with elem
}
for (auto& elem : arr) { // 正确的写法,使用begin和end获取迭代器
std::cout << elem << " ";
}
std::cout << std::endl;
```
输出结果为:1 2 3 4 5。
阅读全文