C语言中 static 的作用:
- 文件作用域的全局变量:
当static修饰一个全局变量时,这个变量只在定义它的文件内部可见,不会被其他文件访问。
- 静态局部变量:
在函数内部,static关键字确保局部变量的生命周期贯穿整个程序,而不是每次函数调用时重新初始化。这使得变量的值在函数调用之间得以保持。
- 静态函数:
static修饰的函数只能在定义它的文件内部调用,具有文件内部链接,防止与其他文件中的同名函数冲突。
C++语言中 static 的作用(包括C中的所有作用):
- 静态成员变量(C++独有):
在类中,static修饰的成员变量属于类本身,而不是类的任何特定对象。这意味着所有对象共享这个变量的同一个实例。
- 静态成员函数(C++独有):
static修饰的成员函数可以在不创建类的对象的情况下被调用,并且它们只能访问类的静态成员和静态成员函数。