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