c++

c++ static变量如何初始化

小樊
81
2024-11-25 19:27:53
栏目: 编程语言

在C++中,静态变量(包括静态局部变量和静态全局变量)的初始化发生在程序启动时,且仅初始化一次。

对于静态局部变量,可以在函数内部声明,并在函数外部初始化。例如:

void foo() {
    static int x = 10; // 静态局部变量
    // ...
}

在这个例子中,x是一个静态局部变量,它只会在第一次调用foo()函数时被初始化,并且只会被初始化一次。

对于静态全局变量,可以在函数外部声明,并在函数外部初始化。例如:

int x = 10; // 静态全局变量

void foo() {
    // ...
}

在这个例子中,x是一个静态全局变量,它只会在程序启动时被初始化,并且只会被初始化一次。

需要注意的是,静态变量的初始化顺序与它们在代码中的声明顺序有关。如果有多个静态变量需要初始化,它们将按照它们在代码中的声明顺序进行初始化。

0
看了该问题的人还看了