在 TC++PL 中,作者说
当且仅当您以需要将其作为对象存储在内存中的方式使用初始化(静态)成员时,该成员必须在某处唯一定义。
但是,我不知道作为对象存储在内存中意味着什么。我猜这个静态成员已经在内存中,不管它的类的对象是否被实例化。为了您的信息,作者介绍了一个例子。
class Curious {
public:
static const int cl = 7;
....
}
const int Curious::cl;
它看起来像某种实例化。但是,我不知道为什么它是必要的。我们可以直接访问 Curious::cl。