static是常见的函数和变量(c++中类)的修饰符关键字,他主要用来控制变量的生命周期、作用域和储存方式。

1、修饰局部变量

a.储存区由栈变为静态变量区。

b.生命周期由局部变为全局。

c.作用域不变。

注意:static修饰的变量只执行初始化一次。

2、修饰全局变量

a.变量的储存区域在全局数据区的静态常量区。

b.变量的作用域由当前程序变为整个文件。

c.变量的生命周期不变。

3、修饰函数

a.函数的作用域由当前程序变为整个文件。

4、修饰类的成员变量

a.静态成员变量需在类中声明,在类外定义(const修饰除外)。

b.静态成员变量为所有类对象共享,并没有包含在具体的对象中。

c.静态成员变量的访问:类名::静态成员变量名  或  对象.静态成员变量名。

5、类的静态成员函数

a.静态成员函数没有this指针,不能访问非静态成员(变量、函数)。

b.静态成员函数不能调用非静态成员函数。而非静态成员函数可以调用静态成员函数。