前言
本文介绍static关键字的用法以及一些需要注意的点。
用法
静态变量
(1)静态局部变量
特点:作用域不发生改变,生存周期提升为整个程序的生存周期
int main()
{
static int a;
a = 0;
}
(2)静态全局变量
特点:仅本文件可见,其他文件无法访问。
作用域和生存周期不变。
静态成员
(1)静态成员
静态成员函数属于整个类,可以通过对象名.函数名来访问,也可以通过类名::函数名来访问。
注意:静态成员函数只能访问类中的静态成员,无法访问本类的非静态成员(包括成员变量和成员函数),这是为什么呢?静态成员函数里没有this指针,无法通过this访问到具体的对象内存,所以无法访问到非静态成员。这个问题涉及到c++内存分布问题,这里不再展开,后面再讨论~
本文很短,都只是介绍一些用法,关于原理性的问题我们后面慢慢研究。