这究竟为什么有效?(静态还是其他?)

Why exactly does this work? (Static or things?)

本文关键字:其他 静态 究竟 为什么 有效      更新时间:2023-10-16

所以这个方法:

int num (int a = 0)
{
static int b = a;
return b;
}

可以用来使用num(value)设置和返回值,但我不明白的是,为什么它在使用num()调用时仍然返回b。它不应该因为默认参数而返回0吗?它与b是静态的有关吗?如果这听起来很无聊,我很抱歉,但我对这门语言很陌生。

静态变量初始化一次,即执行第一次通过声明时。

以后的调用只使用该值。

在C++11中,初始化是线程安全的。