C++ Primer:第5章总结


第5章 语句

5.1 简单语句

基本内容:

  1. 表达式语句,空语句,复合语句(块),空块。

备注:

  1. 空语句使用时需加注释表明有意忽略,不要漏写或多写分号。
  2. 块不以分号结尾,struct定义,class定义,do while语句需以分号结尾。

5.2 语句作用域

基本内容:

  1. 定义在if、switch、while、for语句控制结构内的变量,只在相应语句内部可见。

5.3 条件语句

基本内容:

  1. if语句, switch语句

备注:

  1. C++规定:else应该与前一个离它最近且未匹配的if相匹配。
  2. switch括号中的表达式是整数类型,case标签必须是整型常量表达式,且任意两个case标签不能相同。
  3. 不能省略case分支最后的break语句,若一定要省略需添加注释说明。
  4. 即使没用,也要定义default标签。
  5. switch内部定义的变量在switch作用域中都有效。
  6. C++不允许跨过变量的初始化语句,直接跳转到该变量作用域内的另一位置。但可以跳过变量的定义语句,因为定义语句在编译时检查,初始化在运行时调用。

5.4 迭代语句

基本内容:

  1. while语句、传统for语句、范围for语句、do while语句。

备注:

  1. 传统for语句中的init-statement只能有一条声明语句,故init-statement可定义多个变量,但变量基础类型必须相同。
  2. 范围for语句中expression必须是一个序列,如花括号中的初始值列表、数组、vector或string等类型的对象。
  3. 范围for语句中预存end(),一旦在序列中添加或删除元素,end()可能无效。故不能在范围for语句中改变序列的容量。
  4. do while语句以分号结尾。不能在condition中定义变量,必须在循环体外定义。

5.5 跳转语句

基本内容:

  1. break语句、cntinue语句、goto语句。

备注:

  1. break语句终止最近的while、do while、for或switch
  2. continue语句终止while、do while或for中的当前迭代。
  3. goto语句无条件跳转到同一函数内的另一条语句。禁止在程序中使用goto语句。

5.6 try语句和异常处理

基本内容:

  1. throw表达式,try语句块。
  2. 标准异常:exception、stdexcept、new、type_info。

备注:

  1. 异常即运行时超出函数正常功能范围的反常行为。
  2. throw表达式用于异常检测,try语句块用于异常处理。
  3. exception、bad_alloc和bad_cast对象只允许默认初始化,其它异常类型对象使用string对象或者C风格字符串来初始化。
发布了77 篇原创文章 · 获赞 25 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_34801642/article/details/104014244