5.1 简单语句
- 使用空语句时应该加上注释,从而令读这段代码的人知道该语句是有意省略的。
- 名字在有限的区域内可见,该区域从名字定义处开始,到名字所在的(最内层)块的结尾为止。
5.2 语句作用域
5.3 条件语句
- 善用工具,如自动地缩进代码以及匹配其语法结构。就C++而言,它规定else与离它最近的尚未匹配的if匹配,从而消除了程序的二义性。
- 简而言之,break语句的作用是中断当前的控制流。case标签必须是整型常量表达式。如果某个case标签匹配成功,将从该标签开始往后顺序执行所有case分支,除非程序显式地中断了这一过程,否则直到switch的结尾处才会停下来。一般不要省略case分支最后的break语句。如果没写break语句,最好加一段注释说清楚程序的逻辑。
- 即使不准备在default标签下做任何工作,定义一个default标签也是有用的。C++语言规定,不允许跨过变量的初始化语句直接跳转到该变量的作用域内的另一个位置。
5.4 迭代语句
- 定义在while条件语句部分或者while循环体内的变量每次迭代都经历从创建到销毁的过程。
- 牢记for语句头中定义的对象只在for循环体内可见。省略condition的效果等价于在条件部分写了一个true。
vector<int> v;
for ( int i ; cin >> i ; )
v.push_back(i);
5.5 跳转语句
- break 语句负责终止离它最近的while、do while、for或switch语句,并从这些语句之后的第一条语句开始继续执行。
- continue 语句终止最近的循环中的当前迭代并立即开始下一次迭代。
- 不要在程序中使用 goto 语句,因为它使得程序既难理解又难修改。
5.6 try 语句块和异常处理
- 异常是指存在于运行时的反常行为,这些行为超出了函数正常功能的范围。典型的异常包括失去数据库连接以及遇到意外输入等。
- 异常处理机制为程序中异常检测和异常处理这两部分的协作提供支持。在真实的程序中,应该把对象相加的代码和用户交互的代码分离来。throw、try、catch。编写异常安全的代码非常困难。
待完善…