温馨提示×

c++静态全局变量在类中的应用

c++
小樊
81
2024-12-06 21:12:17
栏目: 编程语言

在C++中,静态全局变量是在函数或类的外部定义的全局变量,但其生命周期与程序的生命周期相同,而不是仅限于定义它的文件。这意味着在整个程序中,静态全局变量只被初始化一次。在类中使用静态全局变量时,它可以在类的成员函数内部访问,并且对于该类的所有对象都是共享的。

以下是一个简单的示例,演示了如何在类中使用静态全局变量:

#include <iostream>

class MyClass {
public:
    void printStaticGlobalVariable() {
        std::cout << "Static global variable value: " << static_global_variable << std::endl;
    }
};

// 定义静态全局变量
static int static_global_variable = 10;

int main() {
    MyClass obj1;
    MyClass obj2;

    obj1.printStaticGlobalVariable(); // 输出: Static global variable value: 10
    obj2.printStaticGlobalVariable(); // 输出: Static global variable value: 10

    return 0;
}

在这个例子中,我们定义了一个名为MyClass的类,其中包含一个成员函数printStaticGlobalVariable(),用于打印静态全局变量static_global_variable的值。静态全局变量static_global_variable在类外部定义,并在整个程序中只被初始化一次。在main()函数中,我们创建了两个MyClass对象,并分别调用它们的printStaticGlobalVariable()成员函数。由于静态全局变量是共享的,因此两个对象打印的值都是10。

0