第五章 语句

简单语句

  • 表达式语句:一个表达式末尾加上分号,就变成了表达式语句。
  • 空语句:有时语法上需要一个语句,但是逻辑上不需要,可以直接写一个分号。
  • 复合语句(块):用花括号 {}包裹起来的语句和声明的序列。一个块就是一个作用域。空块等价于空语句。

条件语句

  • 悬垂else(dangling else):用来描述在嵌套的if else语句中,如果ifelse多时如何处理的问题。C++使用的方法是else匹配最近没有配对的if

迭代语句

  • range-for中不能改变序列的元素数量,因为预存了end()的值,改变预存的值失效

try语句块和异常处理

1
2
3
4
5
6
7
8
9
try{
    throw runtime_error("Data must be same as size"); // throw抛出使用字符串初始化的异常类型的对象
}
catch(runtime_error err)//异常类型对象的声明(也称异常声明)
{ 
    // catch子句也称为异常处理代码
    cout << err.what();//每个标准异常类都有一个what成员函数,返回初始化对象时使用的字符串
}//
catch(...){ /* 捕获所有异常*/ }

标准异常及其继承关系: image.png