Static 成员变量不属于对象的一部分,而是类的一部分,所以程序在还没有诞生任何对象的侯就处理此种成员变量。但首先必须初始化。
注:不可以将static成员变量的初始化安排在类的构造函数中,因为构造函数可能一再的被调用,而变量的初值确只应该设定一次。也不要将初始化操作放在头文件中,因为它可能会被载入许多地方,因此也可能被执行很多次。应该在应用程序文件中,类以外的任何地方设定其初值。
Static 成员函数不需要借助任何对象,就可以被调用执行,所以编译器不会为其加一个this指针。也因为如此,static成员函数无法处理类中的non-static成员变量。
《深入浅出MFC》