1.67、类内普通成员函数可以调用类内静态变量吗
静态成员变量属于类本身,而不是某个具体对象,所有对象共享同一份静态变量内存。普通成员函数属于类的对象,可以通过对象访问类的所有成员,包括静态成员变量。
静态成员变量的生命周期贯穿整个程序运行期,普通成员函数调用时静态成员变量始终存在,访问安全。
权限控制依然有效,普通成员函数只能访问其权限范围内的静态成员变量(如private
静态成员变量除非是该类成员函数,否则不可访问)。
示例代码:
class Person {
public:
static int s_age; // 静态成员变量声明
int m_id; // 普通成员变量
void func() { // 普通成员函数
m_id = 10; // 访问普通成员变量
s_age = 20; // 访问静态成员变量
}
};
int Person::s_age = 0; // 静态成员变量定义和初始化
总结来说,类内普通成员函数访问静态成员变量是C++语言设计的常见且合理的用法,体现了静态成员变量作为类级别共享资源的特性,同时普通成员函数作为对象行为也能访问类级别资源,二者兼容且互补。
本文首发于【讳疾忌医-note】公众号,未经授权,不得转载。
(加入我的知识星球,免费获取账号,解锁所有文章。)
阅读剩余
版权声明:
作者:讳疾忌医-note
链接:https://www.1217zy.vip/archives/1429
文章版权归作者所有,未经允许请勿转载。
THE END