static关键字的使用地方
- 静态局部变量
第一次调用时,初始化,函数结束,此变量不销毁,会一直存在,再次调用不会初始化 - 静态全局变量
只能在本文件内使用,不加static时,可以多文件共用 - 静态全局函数
与静态全局变量作用相同,隔离文件,不同文件可以重名 - 静态成员变量(class里的变量用)
不占用class的内存,所有相同的class对象共用此变量。 - 静态成员函数(class里的函数用)
可以直接通过class调用,也可以通过由class创建的对象调用
访问权限
- 同类型的可以相互访问
- 静态成员函数不能访问非静态(包括成员函数和数据成员)
- 非静态可以访问静态
原因: 静态不知道有几个非静态,非静态一直知道静态(只有一个)