静态int执行多少次

How many times does static int execute?

本文关键字:多少次 执行 int 静态      更新时间:2023-10-16
void Test (int alpha)
{
    static int n = 0;
    n = n + alpha;
    cout << n << " ";
}

如果我运行测试(2(;试验(4(;试验(6(;那么输出应该是2 6 12。我不明白为什么,我知道由于通用作用域,n将存在于整个程序中,但我认为static意味着"不可更改"。或者在这种情况下,它只是意味着"static int n=0;"行只执行一次吗?总是这样吗?

函数范围中的

static意味着变量只定义一次,并且它存在于函数的所有调用中。

如果你想让它不可更改,你必须让它成为static const

static const int n = 0;

如果你这样做,线

n = n + alpha; 

将产生编译器错误。

否,这只是意味着行static int n = 0;将执行一次,但以后可以在程序中多次更改。

static并不意味着"不可更改";这就是const的含义。static表示存储类。

我知道,由于通用范围,n将存在于整个程序中,但我认为静态意味着"不可更改">

没有。这就是const的作用。

或者在这种情况下,这只是意味着行"static int n=0;"将只执行一次吗?

是的。

总是这样吗?

规则就是规则。