静态变量可以多次初始化吗?

光盘

我已经读过c / c ++中的静态变量仅初始化一次。

但是当我尝试尝试它时。我发现它们可以被多次初始化

#include <iostream> 
#include <string> 
using namespace std; 

void demo(int value) 
{ 
    // static variable 
    static int count = 0; 
    count = value; 
    cout << count << " "; 



} 

int main() 
{ 
    for (int i=0; i<5; i++)  
        demo(i+1); 
    return 0; 
} 

在上面的代码中,我初始化的静态变量多次计数。

以上代码的输出是:1 2 3 4

我在这里想念什么吗?

约翰

count = value;不是初始化,而是分配。静态变量可以分配任意多次。

static int count = 0;是初始化,并且仅发生一次,无论您调用多少次demo

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章