|
Posted on
2023-03-13 09:31
乔55
阅读( 27)
评论()
编辑
收藏
举报
静态成员变量概念
- 属于整个类所有,不需要依赖任何对象,在类外全局数据区单独开辟空间
- 在类内声明,在类外使用
访问静态成员变量的方式
- 通过类名直接访问public属性的静态成员变量
- 能过对象直接访问public属性的静态成员变量
- 通过类的静态成员函数直接访问本类的成员变量,无论是否为public
静态成员变量的作用
- 可以统计程序运行期间有多少个类的对象
- 类的静态成员变量具有全局变量的作用,比类外全局变量更安全
静态成员变量的特点
- 静态成员变量属于类不属于对象,它为所有对象所共有
- 只能在类内声明静态成员变量,在类外初始化静态成员变量
- 可以通过对象访问静态成员变量,也可以通过类名访问静态成员变量
- 静态成员变量是命名空间属于类的全局变量。存储在`静态存储区
静态成员函数的特点
- 静态成员函数只能访问静态成员变量,无法访问非静态成员变量。普通函数可以访问静态成员变量
- 普通成员函数隐式包含一个指向当前对象的
this指针
- 静态成员函数属于类,在调用时,对象的
this 指针是不存在的
- 若静态成员函数访问非静态成员变量时,由于没有
this 指针不知道该变量是属于哪个对象
静态成员的存储位置
- 普通成员变量:存储在对象中,与struct有相同的内存而已和字节对齐
- 静态成员变量:存储在静态存储区
- 静态成员函数:存储在代码段中
|