为什么非常量静态变量需要在类外初始化? [复制]

2023-12-27

我知道非常量静态变量需要在类定义之外初始化,但是,这样做有原因吗?

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(使用前将#替换为@)

为什么非常量静态变量需要在类外初始化? [复制] 的相关文章

随机推荐