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

