C++ 中的 static 关键字

C++ 中的 static 关键字

static 关键字有两种含义:

  1. 定义在语句块中,则在程序运行的周期内都存在

  2. 在某个范围之外不可用的意思,即当 static 作用于函数名或者所有函数之外的变量名,则意味着这个名字在文件之外是不可见的

#include <iostream>

using namespace std;

// 在其他的编译单元(一般是文件中)是不可见的,即使写了 extern int a; 也看不到的
static int a = 0;

int c = 4;

int fun() {
    // 在块中定义static
    static int a = 0;
    a++;
}

int main() {

    // 这里也要初始化
    const int b = 32;

    cout << "a = " << a << ", b = " << b
         << ", c = " << c << endl;

    return 0;
}

基本上就是这两种用法了。

猜你喜欢

转载自www.cnblogs.com/tuhooo/p/10872948.html