独立创建网站网络营销策划师
C++11新引入的for语句,可遍历stl容器
//语法格式
for(变量:序列)语句块
变量:定义一个变量,用于在每次循环迭代中存储序列中的一个元素。该变量的类型应该与序列中元素的类型兼容,也可以使用auto
关键字让编译器自动推导元素类型。
序列:表示要遍历的序列,可以是{}初始化列表、数组、vector
、list
等容器,也可以是返回迭代器对的对象。
1.遍历数组
#include<iostream>
using namespace std;int main()
{int arr[]={1,2,3,4,5,6};for(int num:arr){cout<<num<<" ";}cout<<endl;return 0;
}
2.遍历string
#include<iostream>
#include<string>
#include<string>int main()
{sting str="abcde";for(auto &x:str)//要修改序列的值,必须使用引用x=toupper(x);cout<<str<<endl;//输出转大写后的字符串return 0;
}
如果需要在循环中修改序列中的元素,需要使用引用类型。
3.遍历vector
#include <iostream>
#include <vector>
using namespace std;int main() {vector<int> vec = {10, 20, 30, 40, 50};// 使用auto关键字自动推导元素类型for (auto element : vec) {cout << element << " ";}cout << endl;return 0;
}
如果不修改序列的值,可以定义为auto 变量或者const auto &变量;如果需要修改序列的值则必须定义为auto &变量.