为什么静态成员变量必须在类外定义
时间: 2023-12-06 08:44:06 浏览: 79
详解c++ 静态成员变量
静态成员变量是与类本身相关联的变量,而不是与类的对象相关联的。因此,它们在内存中只有一份副本,不会随着类的对象的创建和销毁而变化。
当我们在类定义中声明一个静态成员变量时,它只是一个声明,它并没有在内存中分配存储空间。因此,我们必须在类外部的某个地方为其分配存储空间,这样才能让它真正存在于内存中。
因此,静态成员变量必须在类外定义,这样编译器才知道要为它分配存储空间。同时,我们也可以在类外初始化这个静态成员变量。
阅读全文