📅  最后修改于: 2023-12-03 14:39:54.268000             🧑  作者: Mango
在 C++ 中,static
是一个关键字,可以用于修饰变量、函数和类。它有以下几个不同的用法:
static
修饰全局变量时,该变量的作用域被限制在当前文件中,其他文件无法直接访问该变量。该变量只会被初始化一次,并且在整个程序的生命周期中保持其值不变。static
修饰全局函数时,该函数的作用域也被限制在当前文件中,其他文件无法直接调用该函数。以下是示例代码:
// file1.cpp
static int globalVariable = 10;
static void globalFunction() {
// 函数的实现
}
static
修饰类的成员变量时,该变量属于类本身而不是类的实例。它不依赖于任何特定的对象,可以被所有类的实例共享。该变量只会被初始化一次,并且在整个程序的生命周期中保持其值不变。static
修饰类的成员函数时,该函数属于类本身而不是类的实例。它可以在不创建类的实例的情况下被调用。以下是示例代码:
class MyClass {
public:
static int staticVariable;
static void staticFunction() {
// 函数的实现
}
};
int MyClass::staticVariable = 20;
在函数内部,使用 static
修饰的局部变量称为静态局部变量。该变量在第一次初始化后,在函数的每次调用中都会保留其值,不会被销毁和重新初始化。静态局部变量的作用域仅限于定义它的函数内部。
以下是示例代码:
void myFunction() {
static int staticLocalVariable = 30;
// 变量的使用
}
以上就是关于 C++ 中 static
关键字的用法介绍。它可以用于修饰全局变量和函数,类的成员变量和函数,以及局部变量。使用 static
关键字可以实现数据共享、限制作用域以及保持变量的持久性。