C++ static关键字
一、static修饰的的对象
- 变量
- 函数
二、使用场景
不和实例化的对象直接相关的数据,声明为static
- 函数体
(1)说明:函数体中声明static变量,通常把内存只会被分配一次。
(2)作用范围:该变量只能在该函数体内访问,其他函数不能访问该函数体内的static变量。 - 模块内
(1)说明:避免命名重复。
(2)作用范围:
源文件(.cpp):该static变量只能在该源文件中进行访问,该源文件中的其它函数可以访问该static变量;在多个模块中声明相同的static变量不会冲突。
头文件(.h):声明static变量或函数,那么所有包含的该头文件的源文件可以访问该静态成员。 - 类中
(1)说明:
修饰成员变量或成员函数,静态成员变量或成员函数属于整个类所拥有;
静态成员函数不接受this指针,静态成员函数中不能访问类对象成员,只能访问静态成员
在类的外部定义static成员变量
获取更多Linux C/C++资料