C++ 类中如何让 bool 变量像全局变量一样保持一致
在 C++ 类中,可以使用静态变量或者静态成员变量来实现一个 bool 类型的变量在每次定义类对象时不受影响,保持和全局变量一样的效果。
静态变量
静态变量是在类的作用域内,但并不属于任何一个对象。可以通过类名加作用域运算符来访问。静态变量的初始值只会在第一次初始化时赋值,以后每次创建对象时不会重新赋值。例如:
class MyClass {
public:
static bool flag;
};
bool MyClass::flag = false;
int main() {
MyClass obj1;
MyClass obj2;
obj1.flag = true;
cout << obj2.flag << endl; // 输出 false
return 0;
}
静态成员变量
静态成员变量也是在类的作用域内,但属于整个类,所有对象共享同一个变量。可以通过类名加作用域运算符或者对象名加作用域运算符来访问。静态成员变量需要在类外部进行初始化。例如:
class MyClass {
public:
static bool flag;
};
bool MyClass::flag = false;
int main() {
MyClass obj1;
MyClass obj2;
MyClass::flag = true;
cout << obj1.flag << endl; // 输出 true
cout << obj2.flag << endl; // 输出 true
return 0;
}
原文地址: https://www.cveoy.top/t/topic/oXih 著作权归作者所有。请勿转载和采集!