我已经读过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] 删除。
我来说两句