c++11 基于范围的for循环
例 1
int a[]= {1,2,3,4,5,6,7,8,9};
for(int c : a)
{
cout << c << endl;
}
// 等同于下面代码
for (int i = 0; i < sizeof a / sizeof a[0]; i ++)
{
int c = a[i];
cout << c << endl;
}
c 依次表示数组 a[ ] 中的每个值 依次遍历
例 2
string s = "abcdefghijklmn";
for(auto c : s )
cout << c << endl;
一般和 auto 一起使用 auto 表示后面变量的类型 让编译器去猜
使用auto定义变量时必须对其进行初始化,在编译阶段编译器需要根据初始化表达式来推导auto的实际类型
建议在 auto 后面的变量类型可以唯一确定时使用
例 3
范围for循环遍历的是迭代容器的中的单个元素,如果要修改容器里面的值,创建变量的时候要使用引用
string s = "abcdefghijklmn";
for(auto &c : s)
{
c = toupper(c); // 将s中的全部元素改成大写
}
cout << s << endl;
好东西,嫖走了
其实可以点个赞假装意思一下hhh
甚至还补上了几个赞(手动狗头)
哈哈哈谢!