中声明变量的范围

c++ 0 x现在被称为c++ 11(因为它不是过去十年完成),它终于被批准。我打算绕过添加一些关于它的教程,但我想做一些可能更直接的STL以来首次适用于大多数人。编译器支持c++ 11而参差不齐(见http://wiki.apache.org/stdcxx/C%2B%2B0xCompilerSupport)。

(init-statement;expr1 expr2)

声明;

循环考虑最简单的方法是将其转换成等价的while循环。在旧版本的C + +,上面的for循环是完全等价的:

/ /老的编译器

init-statement;

而(expr1)

{

声明;

expr2;

}

然而,在更新的编译器,init-statement现在被认为是在声明的变量作用域里面虽然块,而不是外面。这被称为循环范围。与循环变量范围内只存在循环,而不是访问外。因此,在更新的编译器,上面的for循环实际上是相当于在声明如下:

/ /更新的编译器

{

init-statement;

而(expr1)

{

声明;

expr2;

}

} / / init-statement中声明变量的范围

for语句是评估在3部分:

1)Init-statement评估。通常,init-statement由变量声明和作业。这句话只是评估一次,当循环首先是执行。

2)表达式expr1评估。如果expr1是假的,立即循环终止。如果expr1是真的,将执行该语句。

3)后执行该语句时,表达式expr2评估。通常,这个表达式由递增/递减init-statement中声明的变量。expr2评估后,循环返回到步骤2。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值