【C++ 基础】 第 5 章:语句

语句

1. 语句基础

1.1 语句的常见类别

1.1.1 表达式语句:表达式后加分号,对表达式求值后丢弃,可能产生副作用

1.1.2 空语句:仅包含一个分号的语句,可能与循环一起工作

1.1.3 复合语句(语句体):由大括号组成,无需在结尾加分号,形成独立的域(语句域)

1.2 顺序语句与非顺序语句

1.2.1 顺序语句

1.2.2 非顺序语句

1.2.2.1 最基本的非顺序语句: goto

1.2.2.2 goto 本质上对应了汇编语言中的跳转指令

2. 分支语句

2.1 分支语句—— if

2.1.1 语法: https://zh.cppreference.com/w/cpp/language/if

2.1.2 使用语句块表示复杂的分支逻辑

2.1.3 从 if 到 if-else

2.1.4 if V.S. constexpr if—— 运行期与编译期分支

2.1.5 带初始化语句的 if

2.2 分支语句—— switch

2.2.1 语法: https://zh.cppreference.com/w/cpp/language/switch

2.2.2 条件部分应当能够隐式转换为整形或枚举类型,可以包含初始化的语句

2.2.3 case/default 标签

2.2.4 [[fallthrough]] 属性

2.2.5 与 if 相比的优劣

3. 循环语句

3.1 循环语句——while

3.1.1 语法: https://zh.cppreference.com/w/cpp/language/while

3.1.2 处理逻辑

3.1.3 注意:在 while 的条件部分不包含额外的初始化内容

3.2 循环语句——do-while

3.2.1 语法: https://zh.cppreference.com/w/cpp/language/do

3.2.2 处理逻辑

3.2 循环语句——for

3.2.1 语法: https://zh.cppreference.com/w/cpp/language/for

3.2.2 处理逻辑

3.2.3 在初始化语句中声明多个名字

3.2.4 初始化语句、条件、迭代表达式可以为空

3.2.5 for 的更多示例

3.3 循环语句——基于范围的 for 循环

3.3.1 语法: https://zh.cppreference.com/w/cpp/language/range-for

3.3.2 本质:语法糖,编译器会转换为 for 循环的调用方式

3.3.3 转换形式的衍化: C++11 / C++17 / C++20

3.3.4 使用常量左值引用读元素;使用 万能引用( universal reference )”修改元素

3.4 循环语句——break / continue

3.4.1 含义(转自 cpp reference )

3.4.2 注意这二者均不能用于多重嵌套循环,多重嵌套循环的跳转可考虑 goto 语句

4. 语句的综合应用——达夫设备

4.1 使用循环展开提升系统性能

4.2 处理无法整除的情形

4.2.1 额外增加一个循环语句

4.2.2 将 switch —— 与循环结合 达夫设备

上一篇:Qt标准颜色对话框英文改成中文显示不全的解决办法


下一篇:Google Style Guides