C++中类里static成员变量与普通的成员变量有什么不同?

如题所述

C++中“类”的static成员,只有一个实例。也就是所有的类的实例都用同一个变量。如果这个变量是public的,那类的外部能够直接访问,方法是类名“变量名”。

代码中的实例变量、类变量、常量都属于成员变量,这与变量的修饰符有关系,也就是上面代码中的private、static、final等修饰符。

首先类的静态成员变量为类的全局变量,并不为类的对象所拥有。而类的普通成员变量通过类生成对象后是属于生成对象的变为此对象所特有,不能与其它生成的对象所共有。如下图所示,两个对象a,b的成员变量x并不是相同的。

静态成员变量需要在全局定义,普通成员变量是属于某个对象的,不需进行全局定义。访问类的静态成员变量可以通过如下形式,如类A中定义了静态成员变量x,形式为类名,变量名,类的静态成员变量在对象还没有产生前就已经存在了。

温馨提示:答案为网友推荐,仅供参考
相似回答