我知道非常量静态变量需要在类定义之外初始化,但是,这样做有原因吗?
class A {
static int x = 0 // compile error;
static int y;
};
int A::y = 0; // fine
本质上是因为x
独立于数量而存在实例 of A
被创建的。
所以存储为x
需要在某个地方定义 - 你不能依赖于一个实例A
这样做,就是这样
A::x = 0;
恰好在一个翻译单元中,确实如此。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)