C++:范围for语句

范围for语句的语法形式是:

for(declaration:expression)
    statement

expression表示的必须是一个序列,比如用花括号括起来的初始值列表,数组或者vector或string等类型的对象,这些类型的共同特点是拥有能返回迭代器的begin和end成员。

declaration定义一个变量,序列中的每个元素都得能转换成该变量的类型。确保类型相容的最好办法是使用auto类型说明符,这个关键字可以领编译器帮助我们指定合适的类型。如果需要对序列中的元素执行写操作,循环变量必须声明称引用类型。

每次迭代都会重新定义循环控制变量,并将其初始化成序列中的下一个值,之后才会执行statement。

例子:

vector<int> v={0,1,2,3,4,5,6,7,8,9}
//范围变量必须是引用类型,只有才能进行读写操作
for(auto &r : v)    //对于v中每一个元素
r*=2;               //将v中每一个元素的值翻倍

上一篇:zip压缩工具类


下一篇:压缩单个文件或者文件夹