C++ - 全局范围内变量的静态含义

Ste*_*ell 2 c++

在全局范围内定义变量时,将变量定义为静态有什么意义?反正不是全局变量"静态"吗?

即:这段代码有什么区别吗?:

int var1 = 0;
int main()
{
    return var1;
}

static int var1 = 0;
int main()
{
    return var1;
}
Run Code Online (Sandbox Code Playgroud)

我知道静态变量不能从任何其他翻译单元访问,但这并不是我真正关心的.

Bat*_*eba 6

除了您已经提到的翻译单元可见性之外,没有区别.