[C++ Primer CH05] 第5章语句(笔记)

小结:

C++语言提供了有限的语句类型,它们中的大多数会影响程序的控制流程:

● while、for和do while语句,执行迭代操作。

● if和switch语句,提供条件分支结构。

● continue语句,终止循环的当前一次迭代。

● break语句,退出循环或者switch语句。

● goto语句,将控制权转移到一条带标签的语句。

● try和catch,将一段可能抛出异常的语句序列括在花括号里构成try语句块。catch子句负责处理代码抛出的异常。

● throw表达式语句,存在于代码块中,将控制权转移到相关的catch语句。

● return语句,终止函数的执行。我们将在第6章介绍return语句。

除此之外还有表达式语句和声明语句。表达式语句用于求解表达式,关于变量的声明和定义在第2章已经介绍过了。


笔记:

1.使用空语句时应该加上注释,从而令读这段代码的人知道该语句是有意省略的。


2.一般不要省略case分支最后的break语句。如果没写break语句,最好加一段注释说清楚程序的逻辑。


3.即使不准备在default标签下做任何工作,定义一个default标签也是有用的。其目的在于告诉程序的读者,我们已经考虑到了默认的情况,只是目前什么也没做。


4.break语句(break statement)负责终止离它最近的while、do while、for或switch语句,并从这些语句之后的第一条语句开始继续执行。


FAQ:

Q1:为什么不能通过范围for语句增加vector对象(或者其它容器)的元素?

A1:在范围for语句中预存了end()的值。一旦在序列中添加(删除)元素,end函数的值就可能变得无效了。

Q2:switch的执行流程有可能会跨过某些标签,如果被略过的代码中含有变量的定义该怎么办?

A2:如果在某处一个带有初值的变量位于作用域之外,在另一处该变量位于作用域之内,则从前一处跳转到后一处的行为是非法行为。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值