它是Range-based for loopC11 引入的新语法。使用举例代码for(autox:v){coutx ;}等价于for(autoitv.begin();it!v.end();it){intx*it;coutx ;}适用于所有支持迭代器的数据结构。一、数组intN[5]{1,2,3,4,5};for(intx:N){coutx ;}输出12345二、vectorvectorintv{1,2,3};for(intx:v){coutx ;}输出123三、stringstring snoip;for(charx:s){coutx ;}输出n o i p四、setsetints{3,1,4,2};for(intx:s){coutx ;}输出1234//因为set会内部排序五、mapmapint,intmp;mp[1]999;mp[2]777;for(autop:mp){coutp.first p.secondendl;}输出19992777六、自定义类只要自定义的类能实现begin()end()就能使用它。classK{public:intN[3]{1,2,3};int*begin(){returnN;}int*end(){returnN3;}};K sp;for(intx:sp){coutx ;}输出123