我知道非常数静态变量需要在类定义之外进行初始化,但是,这是有原因的吗?
class A {
static int x = 0 // compile error;
static int y;
};
int A::y = 0; // fine
本质上,它是因为x
存在着独立的数量实例中A
所创建。
因此,x
需要在某个地方定义存储的需求-您不能依赖的实例A
来做到这一点,这就是
A::x = 0;
只需一个翻译单元即可。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句