Chapter 5 语句
和大多数语言一样,C++提供了条件执行语句、重复执行相同代码的循环语句和用于中断当前控制流的跳转语句。
5.1 简单语句
空语句
BEST PRACTICE:使用空语句时最好是加上注释,从而令独这段代码的人知道该语句是有意省略的。
WARNING:多余的空语句并非总是无害的。
复合语句(块)
复合语句块是指被{}括起来的语句和声明序列,也被成为block。
5.2 语句作用域
5.3 条件语句
悬挂else:C++规定else与离它最近的尚未匹配的if匹配。
5.3.2 switch 语句
switch 内部的控制流:如果某个case匹配成功,将错哦你该标签开始往后顺序执行所有case分支,除非程序显式地中断了这一过程。
1 | unsigned vowelCnt = 0; |
case 标签之后不一定非得换行。
1 | switch (ch) { |
WARNING:常见的错觉是程序只执行匹配成功的那个case分支语句。因此在每个标签后写上break,是最好的应用。这样新增加新的分支也不用在前面加上break了。
default 标签:当没有任何一个case标签能匹配上switch表达式的值时,程序将执行紧跟在default后面的语句。每一个switch语句。
5.4 迭代语句
5.4.3 范围for语句
序列:可以返回迭代器begin和end的成员。采用范围for语句时,在迭代过程中修改序列结果,可能会导致循环体的尾指针失效。
5.5 跳转语句
C++ 提供了4种跳转语句:break、continue、goto、return。
5.5.1 break语句
break语句的作用范围仅限于最近的循环或者switch。
5.5.2 continue语句
continue语句只出现在for、while、do while循环内,或者嵌套在此类循环的语句或块的内部。
5.5.3 goto语句
hmmmm,没什么可说的。
5.6 try语句
throw表达式;try语句块;- 一套异常类。
5.6.1 throw表达式
见练习5.22.cpp。