C++ static 关键字
例子
一个 static
属性的值在类的实例之间共享
class MyClass {
public:
static int x;
int y;
int sum() {
return x + y;
}
};
int MyClass::x = 5;
int main() {
MyClass myObj1;
myObj1.y = 3;
MyClass myObj2;
myObj2.y = 5;
cout << myObj1.sum() << "\n";
cout << myObj2.sum() << "\n";
return 0;
}
定义和用法
static
关键字是一个修饰符,它使一个属性或方法属于类本身,而不是属于类的实例。该属性或方法在类的所有实例之间共享。
static
关键字还有另一个用途。它允许函数内部的变量在多次函数调用中保持其值,如下面的示例所示。
更多例子
例子
static
关键字允许变量在函数结束之后保持其值
int add(int myNumber) {
static int total = 0;
total += myNumber;
return total;
}
int main() {
cout << add(5) << "\n";
cout << add(2) << "\n";
cout << add(4) << "\n";
cout << add(9) << "\n";
return 0;
}