C ++中静态局部变量的范围和生存期

斯里查克拉
#include<iostream>
using namespace std;

int &fun()
{
    static int x = 10;
    return x;
}
int main()
{
    fun() = 30;
    cout << fun();
    return 0;
}

当上述程序运行时,输出为30。返回整数变量x作为对main()函数的引用,并为其分配了值30。但是x的范围不限于fun( )函数?;如果是,为什么我们可以在主函数中更改它的值?

莫希特·贾恩(Mohit Jain)

范围是有限的,这意味着禁止尝试x 直接在范围之外进行访问

在范围内,可以使用非限定名称查找将名称与其声明相关联。

但是,如果变量仍处于活动状态,则始终可以返回指向该变量的指针或引用,并且可以通过指向同一变量的引用或指针对其进行更改。该引用的名称可以是匿名的(临时的),也可以绑定到某些命名的引用。

关于生存期,它在包含静态变量的函数被首次调用时开始,并在程序结束时结束。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C中局部变量的范围和生存期

来自分类Dev

C ++函数中静态变量的生存期是多少?

来自分类Dev

循环变量生存期的C ++很奇怪

来自分类Dev

C ++ 11中的静态局部变量?

来自分类Dev

在C ++ 17中的对象生存期之外调用非静态成员函数

来自分类Dev

C ++ 17和静态临时生存期的参考扩展

来自分类Dev

Rust指定局部变量的生存期

来自分类Dev

函数内部局部变量的生存期如何延长?

来自分类Dev

C中的局部变量和内存

来自分类Dev

函数调用中的C ++临时对象生存期

来自分类Dev

在C ++中绑定了多个引用的临时项的生存期

来自分类Dev

C ++中指针引用的生存期

来自分类Dev

什么是静态字典的生存期?LifestyleTransient | C#| 世界足球联合会

来自分类Dev

Fortran中变量和静态数组的生存期

来自分类Dev

如何为涉及中间局部变量引用的闭包指定生存期边界?

来自分类Dev

在g ++ 4.8.4和g ++ 5.3.1之间,c_str()的生存期是否发生了变化?

来自分类Dev

C ++中局部于静态方法的变量的范围

来自分类Dev

我在C中的局部变量?

来自分类Dev

在C中访问bash局部变量

来自分类Dev

声明隐藏了 c 中的局部变量

来自分类Dev

默认情况下,C 中未初始化的局部变量是静态的吗?

来自分类Dev

为什么要在C中重新加载静态局部变量?

来自分类Dev

C ++ Boost.Asio对象生存期

来自分类Dev

C ++临时生存期-这样安全吗?

来自分类Dev

Blue Prism,C#可变生存期代码阶段

来自分类Dev

在C ++中构造和销毁局部变量和返回变量

来自分类Dev

是堆变量全局变量,堆变量的范围和生存期是多少

来自分类Dev

与范围有关的局部变量定义,C ++

来自分类Dev

StructureMap生存期范围

Related 相关文章

热门标签

归档