// Foo.cpp
int whatScopeAmI = 0;
Foo::Foo() {
// source code
}
变量的作用域是什么whatScopeAmI
?
该变量是具有程序范围的全局变量,因为它是在任何块之外定义的:
在块外声明的变量称为全局变量。全局变量具有程序范围,这意味着它们可以在程序中的任何地方访问,并且只有在程序结束时才会被销毁。
它是全球性的,在程序中随处可用。
如果不同的翻译单元有一个extern int whatScopeAmI;
声明,它将引用同一个变量。
如果变量被声明为static int whatScopeAmI = 0;
它将具有内部链接,并且仅在当前翻译单元中可用。