C++ 类的静态成员

一、什么是静态成员?

类实例“共享”的资源(成员数据或者函数),声明的方法是资源前加上static关键字,此外应该注意静态成员必须在类内声明,类外初始化[1]。

二、为什么要用静态成员?

  • 节省空间 (所有类静态变量都将会使用同一个空间)
  • 方便修改(发生变化的时候,仅需修改一处)

三、怎么访问静态?

静态成员首先是类的成员,类的成员都将会受到访问控制;其次作为特殊的成员,他还可通过类名访问。类的使用者,可以通过:

  • 类名访问(::)
  • 实例化对象访问(A.XX)

访问静态成员,对于类的编写者,仅需注意初始化时机及其共享属性,除此,别无二样。

class A
{
private:
	static int a;
};

int A::a = 4396;

四、其他使用事项

类的静态成员函数的函数体内只能访问静态成员变量。

[1] 静态数据成员之所以不能在类内初始化,实例创建时不能每次都初始化,否则就没有属性共享这一说了。

20201030 对静态成员不能再类内初始化做了一定的解释;重新表述了文字,增加了初始化静态成员的具体例子。

20211230 为什么静态成员函数只能访问静态成员?表意自洽,静态方法就是所有类共有的,你修改了一个非共有的变量,那么不应该用静态方法应该用普通方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值