欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

问题:C++类的静态成员变量如何初始化

程序员文章站 2022-07-10 23:42:54
C++类的静态成员变量属于该类,在该类所有的对象间共享。 要弄清如何初始化,首先要明白声明、定义、初始化三个概念的不同。 声明:指定变量的名字和类型,可以多次声明。 定义:为该成员变量分配存储空间,有且仅有一个定义。 初始化:为该成员变量赋初值。 在类的声明中,静态成员变量仅完成了声明过程,并没有进 ......

c++类的静态成员变量属于该类,在该类所有的对象间共享。

要弄清如何初始化,首先要明白声明、定义、初始化三个概念的不同。

声明:指定变量的名字和类型,可以多次声明。

定义:为该成员变量分配存储空间,有且仅有一个定义。

初始化:为该成员变量赋初值。

在类的声明中,静态成员变量仅完成了声明过程,并没有进行定义和赋初值。

静态成员变量在编译时存储在静态存储区,即定义过程应该在编译时完成,因此一定要在类外进行定义,但可以不初始化。

class a

{

public:

  static int a;

}

int a;//类外定义,没有初始化

int a=0;//类外定义,并进行初始化。

参考博客: