思维导图
一.static的作用有三种:限制static变量或static函数作用域,保持变量内容的持久,默认初始化为0
- 1.被static关键字修饰的全局函数或者变量具有文件作用域,即只可以在当前文件中可见。
- 2.被static修饰的变量会存储在静态存储区,生命周期也为从定义直至程序结束。对于局部变量, 即使在函数退出后该静态变量依然存在,然而却无法访问,此外,static修饰的变量一生只能初始化一次(常考)
- 3.静态存储区的变量被默认为0。
二.面向对象的static
- 1.静态数据成员
定义:在类中数据成员的声明前加上static,该成员是类的静态成员。
ps:静态成员并不像一般的成员变量在构造函数中初始化,而是在类实现文件中初始化,即必须在.cpp中初始化,否则程序链接会出现错误,重定义,且初始化时无需再用static关键字修饰
例子:
class ALA
{
public