Hexo

  • Home

  • Archives

CPP Primer Chapter 5 Statements

Posted on 2019-11-16 Edited on 2020-01-15

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
2
3
4
5
6
7
8
9
10
11
12
unsigned vowelCnt = 0;

switch (ch)
{
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
++vowelCnt;
break;
}

case 标签之后不一定非得换行。

1
2
3
4
5
switch (ch) {
case 'a': case 'e': case 'i': case 'o': case 'u':
++vowelCnt;
break;
}

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。

5.6.2 try语句块

Pytorch Notes
Detectron2: Code Notes
  • Table of Contents
  • Overview

Zepyhrus

12 posts
  1. 1. Chapter 5 语句
    1. 1.1. 5.1 简单语句
    2. 1.2. 5.2 语句作用域
    3. 1.3. 5.3 条件语句
      1. 1.3.1. 5.3.2 switch 语句
    4. 1.4. 5.4 迭代语句
      1. 1.4.1. 5.4.3 范围for语句
    5. 1.5. 5.5 跳转语句
      1. 1.5.1. 5.5.1 break语句
      2. 1.5.2. 5.5.2 continue语句
      3. 1.5.3. 5.5.3 goto语句
    6. 1.6. 5.6 try语句
      1. 1.6.1. 5.6.1 throw表达式
      2. 1.6.2. 5.6.2 try语句块
© 2020 Zepyhrus
Powered by Hexo v3.9.0
|
Theme – NexT.Mist v7.3.0