c++

c++静态变量初始化时机在哪

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

C++ 静态变量的初始化时机是在程序启动时,也就是在 main() 函数执行之前。当一个程序启动时,静态变量的初始化会按照它们在代码中出现的顺序依次进行。值得注意的是,静态局部变量(static local variable)在第一次进入其定义所在的函数时初始化,但仅初始化一次。

以下是一个关于静态变量初始化的示例:

#include <iostream>

void foo() {
    static int x = 10; // 静态局部变量
    std::cout << "x = "<< x << std::endl;
}

int main() {
    foo(); // 输出 x = 10
    foo(); // 输出 x = 10,不再重新初始化
    return 0;
}

在这个例子中,x 是一个静态局部变量,它在 foo() 函数内定义。当第一次调用 foo() 时,x 会被初始化为 10。当再次调用 foo() 时,x 的值保持不变,因为它已经被初始化了。

0
看了该问题的人还看了