(5)语句
2016-05-27 10:32
190 查看
使用空语句时应该加上注释,从而令读这段代码的人知道该语句是有意省略的。在if语句中,条件部分必须能转换成布尔类型。对于悬垂else,C++规定else与离它最近的尚未匹配的if匹配,从而消除了程序的二义性。
case关键字和它对应的值一起被称为case标签。case标签必须是整型常量表达式,且任何两个case标签的值不能相同(161)。
即使不准备在default标签下做任何工作,定义一个default标签也是有用的额。其目的在于告诉程序的读者,我们已经考虑到了默认的情况,只是目前什么都没有做。如果在某处一个带有初值的变量位于作用域之外,在另一处该变量位于作用域之内,则从前一出跳转到后一处的行为是非法行为。C++语言规定,不允许跨过变量的初始化语句直接跳转到该变量作用域的另一个位置。如果需要为某个case分支定义并初始化一个变量,我们应该把变量定义在块内,从而确保后面所有case标签都在变量的作用域之外(163)。
定义在while条件部分或者while循环体内的变量每次迭代都经历从创建到销毁的过程。对于for语句,在init-statement部分只有一个声明语句,因此,所有变量的基础类型必须相同(167)。
C++11新标准引入了 范围for语句:每次迭代都会重新定义循环控制变量,并将其初始化成序列中的下一个值,之后才会执行 statement(168)。
do while 语句:
do
statemet
while (condition);
condition 使用的变量必须定义在循环体之外。意思就是 statement和condition部分都不能定义变量(170)。
跳转语句:break语句负责终止离它最近的 while、do while、for、switch 语句,并从这些语句之后的第一条语句开始继续执行。continue语句终止最近的循环中的当前迭代并立即开始下一次迭代。continue语句只能出现在for、while、和do while循环的内部,或者嵌套在此类循环里的语句或块的内部。和break语句类似的是,出现在嵌套循环中的continue语句也仅作用于离它最近的循环。和break不同的是,只有当switch语句嵌套在迭代语句内部时,才能在switch里使用continue。(171)
C++中的异常处理:
① throw表达式:检测异常,类型runtime_error是标准库异常类型的一种,定义在stdexpect头文件中。
② try语句块:
case关键字和它对应的值一起被称为case标签。case标签必须是整型常量表达式,且任何两个case标签的值不能相同(161)。
即使不准备在default标签下做任何工作,定义一个default标签也是有用的额。其目的在于告诉程序的读者,我们已经考虑到了默认的情况,只是目前什么都没有做。如果在某处一个带有初值的变量位于作用域之外,在另一处该变量位于作用域之内,则从前一出跳转到后一处的行为是非法行为。C++语言规定,不允许跨过变量的初始化语句直接跳转到该变量作用域的另一个位置。如果需要为某个case分支定义并初始化一个变量,我们应该把变量定义在块内,从而确保后面所有case标签都在变量的作用域之外(163)。
定义在while条件部分或者while循环体内的变量每次迭代都经历从创建到销毁的过程。对于for语句,在init-statement部分只有一个声明语句,因此,所有变量的基础类型必须相同(167)。
C++11新标准引入了 范围for语句:每次迭代都会重新定义循环控制变量,并将其初始化成序列中的下一个值,之后才会执行 statement(168)。
do while 语句:
do
statemet
while (condition);
condition 使用的变量必须定义在循环体之外。意思就是 statement和condition部分都不能定义变量(170)。
跳转语句:break语句负责终止离它最近的 while、do while、for、switch 语句,并从这些语句之后的第一条语句开始继续执行。continue语句终止最近的循环中的当前迭代并立即开始下一次迭代。continue语句只能出现在for、while、和do while循环的内部,或者嵌套在此类循环里的语句或块的内部。和break语句类似的是,出现在嵌套循环中的continue语句也仅作用于离它最近的循环。和break不同的是,只有当switch语句嵌套在迭代语句内部时,才能在switch里使用continue。(171)
C++中的异常处理:
① throw表达式:检测异常,类型runtime_error是标准库异常类型的一种,定义在stdexpect头文件中。
② try语句块:
相关文章推荐
- Android--sharepreference总结
- 禁止root用户远程登录
- 创建文件夹,选择路径
- 删除编译安装的 apache V2.2.31
- 你应该知道的那些Android小经验
- 对页面静态化的概念和实现过程的理解
- 斗士理查德斯托曼
- Class Cache 是什么?
- 不带mmu的系统介绍
- CSS3 三个比较蛋疼的关键字
- 计划着走
- 触摸事件
- 40个图像处理开源库
- erlang mnesia 遍历
- Spring注入日期到bean属性-CustomDateEditor
- 阿里云服务器yum源更新问题从何而来
- ios远程推送消息时运行在前台怎么处理
- leetcode 326. Power of Three
- SlidingMenu addIgnoreView() 无效的bug解决方法
- 标哥的技术博客