【发布时间】:2011-10-27 14:31:37
【问题描述】:
在我看来,静态类变量与外部变量相同,因为您只在 static int x / extern int x 语句中声明它,并在其他地方实际定义它(通常在.cpp 文件)
静态类变量
// .h file
class Foo
{
static int x ;
} ;
// .cpp file
int MyClass::x = 0 ;
外部变量:
// .h file
extern int y;
// .cpp file
int y = 1;
在这两种情况下,变量都在某处声明一次,并在编译中不会多次包含的文件中定义(否则链接器错误)
【问题讨论】: