目录
一、前言
二、原因分析
三、示例分析
四、例外情况
五、使用总结
参考文章:
一、前言
在C++里面,我们在类里声明静态成员变量,那么一定要在类外定义。初始化是赋一个初始值,而定义是分配内存。静态成员变量在类中仅仅是声明,没有定义,所以要在类的外面定义,实际上是给静态成员变量分配内存。

二、原因分析
C++遵循“分离式编译”模型。类的声明通常放在头文件中(可能被多个源文件包含),如果静态成员变量的定义也在类内,则会导致多个源文件包含同一变量的定义,引发链接时的重复定义错误。 静态成员变量不属于任何对象,而是属于类本身,其生命周期为整个程序运行期(存储在全局/静态存储区)。
类内声明:静