现在的位置: 首页 > 综合 > 正文

[C++ Primer] 语句

2018年04月03日 ⁄ 综合 ⁄ 共 532字 ⁄ 字号 评论关闭

1.switch表达式与case标号:case标号必须是整型常量表达式,下面的都是错误用法,case 3.14,case iavl;

   switch只能再最后一个case标号或default标号后定义变量。这样是为了避免出现代码跳过变量的定义和初始化的情况。如果在两个case之间定义变量,该变量会在块结束之前一直存在,对定义该变量之后的其他case标号所关联的代码都可以使用这个变量,如果swicth从那些后续的case开始执行,那么这个变量可能还未定义就使用了(前提是使用这个变量)

    case true:

              string  name = XXX;//error这里不能定义变量

              break;

    case  XXXX;

             XXXX

 

如果一定要为某个case定义变量,则可以引入块语句,在该语句块中定义和使用这个变量。

2.goto语句不能跨越变量定义的语句向前跳转,如:

        goto  end;

        int ix = 10;

end:

       ix  = 40;

这样ix没有定义就使用了。如果一定要在goto和其跳转的标号之间定义变量,则和case一样引入块语句,变量的定义和使用都在该语句块中。

 

抱歉!评论已关闭.