https://blog.csdn.net/googler_offer/article/details/82933280

1.static修饰局部变量(非类内)的时候

  • 生命周期与整个程序的生命周期一致
  • 未赋初值时自动设为0

2.修饰全局变量

  • 未被static修饰时,在一个文件中定义了一个全局变量后,不能在其他文件声明同名的全局变量
  • 被static修饰后则不会有这个问题,因为static修饰的全局变量只在声明它的那个文件内有效

3.static修饰函数

  • 和修饰全局变量相似,不用担心同名函数引起冲突

4.修饰类中的成员变量

5.修饰类成员函数

  • 无法访问属于类对象的非静态数据成员和非静态的成员函数。与普通的成员函数相比,静态成员函数由于不是与任何的对象相联系,因此不具有this指针,从这个意义上来说,它无法访问属于类对象的非静态数据成员,也无法访问非静态成员函数,只能调用其他的静态成员函数。