LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 358|回复: 0

C++静态存储类

[复制链接]
发表于 2024-1-7 14:28:11 | 显示全部楼层 |阅读模式
静态存储类用于声明静态变量,这些变量在用 C++ 语言编写程序时常用。静态变量具有保留其值的属性,即使它们超出了其范围!因此,静态变量在其作用域中保留其上次使用的值。

我们可以说它们只初始化一次,并且一直存在到程序终止。因此,不会分配新内存,因为它们不会重新声明。全局静态变量可以在程序中的任何位置访问。

静态存储类的属性

作用域:本地
默认值:零
内存位置:RAM
寿命:直到计划结束
注意:可以在任何函数中访问全局静态变量。

静态存储类示例

// C++ program to illustrate the static storage class
// objects
#include <iostream>
using namespace std;

// Function containing static variables
// memory is retained during execution
int staticFun()
{
    cout << "For static variables: ";
    static int count = 0;
    count++;
    return count;
}

// Function containing non-static variables
// memory is destroyed
int nonStaticFun()
{
    cout << "For Non-Static variables: ";

    int count = 0;
    count++;
    return count;
}

int main()
{

    // Calling the static parts
    cout << staticFun() << "\n";
    cout << staticFun() << "\n";


    // Calling the non-static parts

    cout << nonStaticFun() << "\n";

    cout << nonStaticFun() << "\n";

    return 0;
}

输出

For static variables: 1
For static variables: 2
For Non-Static variables: 1
For Non-Static variables: 1


您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表