基于范围的for语句
一、关键点
1. 作用过程
遍历给定序列中的每个元素并对序列中的每个值执行某种操作。
2. 若要修改序列中元素的值,需将类型定义为引用
string s("Hello World!!!"); for (auto &c : s) c = toupper(c);
3. 只是查阅序列中元素的值,则可以不将类型定义为引用
unsigned scores[11] = {}; for (auto i : scores) cout << i << " "; cout << endl;
注:“auto i”部分负责定义一个变量,每次迭代,这个变量会被初始化为序列中对应元素的值。
二、补充
for语句的作用:可以遍历容器或其他序列的所有元素。
for语句的语法形式:
for (declaration : expression) statement
- expression表示的必须是一个序列,包括:用花括号括起来的初始值列表、数组、vector或string等类型(这些类型的共同特点是拥有能返回迭代器的begin和end成员)的对象。
- declaration定义一个变量,序列中的每个元素都得能转换成该变量的类型。