1、基于范围的for循环(C++11)
for 语句允许简单的范围迭代:
int my_array[5] = {1, 2, 3, 4, 5};
// 每个数组元素乘于 2
for (int &x : my_array)
{
x *= 2;
cout << x << endl;
}
// auto 类型也是 C++11 新标准中的,用来自动获取变量的类型
for (auto &x : my_array) {
x *= 2;
cout << x << endl;
}
上面for述句的第一部分定义被用来做范围迭代的变量,就像被声明在一般for循环的变量一样,其作用域仅只于循环的范围。而在”:”之后的第二区块,代表将被迭代的范围。
实例:
#include<iostream>
#include<string>
#include<cctype>
using namespace std;
int main()
{
string str("some string");
// range for 语句
for(auto &c : str)
{
c = toupper(c);
}
cout << str << endl;
return 0;
}
上面的程序使用Range for语句遍历一个字符串,并将所有字符全部变为大写,然后输出结果为:
SOME STRING
版权声明:本文为weixin_44052726原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。