5.3.1 if语句
if语句
使用if else 语句
嵌套if语句
许多编译器和开发环境都提供一种辅助工具,它可以自动地缩进代码以匹配其语法结构。善用此类工具益处多多
悬垂else
else和哪个if匹配这个问题称为 悬垂else(dangling else)]
C++规定else和最近的尚未匹配的if匹配
用花括号控制执行路径
5.3.2 switch 语句
case关键字一起被称为case标签。case标签必须是整型常量表达式。
default也是一种特殊的case
两个case的值不能相同
switch内部的控制流
希望两个或者更多的值共享一组操作就可以省略掉break
一般不要省略case分支最后的break。如果没写,写注释说明逻辑
漏写break容易引发缺陷
尽管switch语句不是非要在最后一个标签后面写上break,但是为了安全起见,最好这么做。
Default 标签
即使不准备再default标签下做任何工作,定义一个default标签也是有用的。目的在于告诉程序的读者,我们已经考虑到了默认的情况,只是目前什么也没有做
switch内部的变量定义
如果被略过的代码含有变量的定义该怎么办?
如果某处一个带有初始值的变量位于作用域之外,在另一处该变量位于作用域之内,从前一处跳到后一处时非法的