这可以使程序更容易理解。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
int main()
{
    // do not define y here
    {
        // y is only used inside this block, so define it here
        int y(5);
        cout << y;
    }
    // otherwise y could still be used here
 
    return 0;
}

通过限制变量的范围,减少了程序的复杂性,因为活动变量的数量减少了。此外,它使它更容易看到变量被使用。在一个块内定义的变量只能在该块(或嵌套的子块)中使用。这可以使程序更容易理解。
规则:在最小范围内定义变量。
规则:避免使用与外部块中的变量相同的名称嵌套变量。
功能参数

虽然函数参数不是在属于函数的块内定义的,在大多数情况下,它们可以被认为是有块范围。

1
2
3
4
5
6
int max(int x, int y) // x and y defined here
{
    // assign the greater of x or y to max
    int max = (x > y) ? x : y; // max defined here
    return max;
} // x, y, and max all die here

他例外的情况是为功能级的例外,我们将在未来的一部分。
总结
块内部定义的变量称为局部变量。这些变量只能在它们被定义(包括嵌套的块)的块内访问,并且它们被一块结束时被销毁。
定义它们所使用的最小范围内的变量。如果一个变量只在嵌套的块中使用,在嵌套块中定义它。
测验
1)写一个程序,要求用户输入两个整数,第二个大于第一个。如果用户输入一个较小的整数为第二个整数,使用一个块和一个临时变量来交换较小的和较大的值。然后打印较小和较大的变量的值。添加注释到您的代码,指示每个变量死亡的位置。
程序输出应符合下列:

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值