第六章

原创 2018年04月16日 15:12:18

6.6.5

        对于 switch 结构,只能在它的最后一个 case 标号或 default 标号后面定义变量:

case true:
// error: declaration precedes a case label
string file_name = get_file_name();
break;
case false:

        制定这个规则是为避免出现代码跳过变量的定义和初始化的情况。 如果在两个 case 标号之间定义变量会出现什么情况。该变量会在块结束之前一直存在。对于定义该变量的标号后面的其他 case 标号,它们所关联的代码都可以使用这个变量。如果 switch 从那些后续 case 标号开始执行,那么这个变量可能还未定义就要使用了。 在这种情况下,如果需要为某个特殊的 case 定义变量,则可以引入块语句,在该块语句中定义变量,从而保证这个变量在使用前被定义和初始化。

case true:
{
// ok: declaration statement within a statement block
string file_name = get_file_name();
// ...
}
break;
case false:
// ...

6.9

        任何在循环条件(while)中引用变量都必须在 do 语句之前就已经存在。 因为要到循环语句或者语句块执行之后, 才求解循环条件, 因此 do while 循环不可以采用如下方式定义变量:
// error: declaration statement within do condition is not supported
do {
// ...
mumble(foo);
} while (int foo = get_foo()); // error: declaration in do condition

6.10

        break 语句用于结束最近的 while、do while、for 或 switch 语句 ,并将程序的执行权传递给紧接在被终止语句之后的语句。 break 出现在循环外或者 switch 外将会导致编译时错误。

6.11

        continue 语句导致最近的循环语句的当次迭代提前结束。 continue 语句只能出现在 for、while 或者 do while 循环中,包括嵌套在这些循环内部的块语句中。

6.13

        异常机制提供程序中错误检测与错误处理部分之间的通信。C++ 的异常处理中包括:
        1. throw 表达式, 错误检测部分使用这种表达式来说明遇到了不可处理的错误。可以说,throw 引发了异常条件。
        2. try 块,错误处理部分使用它来处理异常。try 语句块以 try 关键字开始,并以一个或多个 catch 子句结束。在 try 块中执行的代码所抛出(throw)的异常, 通常会被其中一个 catch 子句处理。由于它们“处理”异常,catch 子句也称为处理代码。
        3. 由标准库定义的一组 异常类,用来在 throw 和相应的 catch 之间传递有关的错误信息。

        抛出一个异常时,首先要搜索的是抛出异常的函数。如果没有找到匹配的 catch,则终止这个函数的执行,并在调用这个函数的函数中寻找相配的 catch。如果仍然找到相应的处理代码,该函数同样要终止,搜索调用它的函数。如此类推,继续按执行路径回退,直到找到适当类型的 catch 为止。如果不存在处理该异常的 catch 子句,程序的运行就要跳转到名为terminate 的标准库函数 。在程序中出现的异常,如果没有经 try 块定义,则都以相同的方式来处理:毕竟,如果没有任何 try 块,也就没有捕获异常的处理代码(catch 子句)。此时,如果发生了异常,系统将自动调用 terminate 终止程序的执行。 

概率论与数理统计第四版(第六章)课后答案

  • 2010年05月01日 17:29
  • 2.3MB
  • 下载

机器学习实战——第六章:支持向量机

本系列目的在于总结每一个分类器的特点(优点、缺点、使用数据类型、使用时的注意事项等)。相关代码自己搜。 python:建议使用2.7 python常用函数库:NumPy、sci...
  • mmc2015
  • mmc2015
  • 2015-06-24 09:09:03
  • 850

Java 语言程序设计(基础篇)原书第五版第六章编程题答案

  • 2008年11月06日 21:18
  • 13KB
  • 下载

《影响力》读书笔记,第六章 权威

第六章权威 自从出生之日起,社会就教导我们:顺从权威是正确的,违抗权威是不对的。儿时父母的教诲,我们成年后碰到的法律、军事和政治制度中,都无不充斥着这条信息。而所有这些教化,无不将服从和忠于正当规则...
  • qwertyuj
  • qwertyuj
  • 2012-10-04 15:59:06
  • 1138

机器学习实战-第六章(支持向量机)

支持向量机
  • huashaojie112358
  • huashaojie112358
  • 2017-05-09 10:22:38
  • 277

C语言程序设计第六章习题答案参考

  • 2011年01月10日 08:34
  • 3KB
  • 下载

Java - Thinking in Java 第6章 习题

1package one;/** * 包内类 * * Created by C.L.Wang on 15/8/4. */ public class One { public One(...
  • u012515223
  • u012515223
  • 2015-08-04 09:45:54
  • 1320

java语言程序设计第十版(Introduce to java) 课后习题 chapter6-6

java语言程序设计第十版(Introduce to java) 课后习题 chapter6-6 自己纯手工,欢迎讨论...
  • idealemail
  • idealemail
  • 2016-03-21 19:37:20
  • 996

深入理解计算机系统家庭作业第六章

/* ***6.23 */ 等价于求xr(1 - x)的最大值,由daish
  • phx_storm
  • phx_storm
  • 2014-10-27 20:16:57
  • 1351

严蔚敏《数据结构(C语言版)习题集》答案_第六章_树和二叉树

  • 2008年12月30日 21:01
  • 45KB
  • 下载
收藏助手
不良信息举报
您举报文章:第六章
举报原因:
原因补充:

(最多只允许输入30个字)