考虑这个简单的函数

他以下部分建立在部分1.4b --在局部范围内一看。
当讨论变量时,将范围和持续时间的概念分离出来是很有用的。变量的范围决定了一个变量是可访问的。一个变量的持续时间决定创建和销毁它的地方。这两个概念往往是联系在一起的。
块内部定义的变量称为局部变量。局部变量具有自动持续时间,这意味着它们被创建(和初始化,如果相关)在定义的点,并被破坏时,他们被定义在退出块。局部变量有块作用域(也称为局部作用域),这意味着它们在声明点的范围内输入范围,并且在它们被定义的块的结束时离开范围。

考虑这个简单的函数:

1
2
3
4
5
6
7
8
int main()
{
    int i(5); // i created and initialized here
    double d(4.0); // d created and initialized here
 
    return 0;
 
} // i and d go out of scope and are destroyed here

因为我和D是在定义的主要功能块的定义,他们都是被main()执行完毕。
嵌套块中定义的变量将被破坏,只要内部块结束:

int main() // outer block
{
    int n(5); // n created and initialized here
 
    { // begin nested block
        double d(4.0); // d created and initialized here
    } // d goes out of scope and is destroyed here
 
    // d can not be used here because it was already destroyed!
 
    return 0;
} // n goes out of scope and is destroyed here

void someFunction()
{
    int value(4); // value defined here
 
    // value can be seen and used here
 
} // value goes out of scope and is destroyed here
 
int main()
{
    // value can not be seen or used inside this function.
 
    someFunction();
 
    // value still can not be seen or used inside this function.
 
    return 0;
}


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值