在 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;
}
C++ 类中如何让 bool 变量像全局变量一样保持一致

原文地址: https://www.cveoy.top/t/topic/oXih 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录