如果我声明并初始化静态变量会怎样?是否会在每次通话时设置其值?

时间:2019-09-30 02:42:41

标签: c

假设我有以下代码:

void foo(){
    static int bar = 0;
    bar++;
}

连续两次调用此函数是否会重置变量的值?

1 个答案:

答案 0 :(得分:3)

创建对象时发生初始化。对于静态对象,其生存期在程序执行开始时开始。当执行到达定义它们的语句时,它们不会重新初始化或重新分配。