我注意到,如果在代码中初始化 C++ 中的静态变量,则初始化仅在第一次运行该函数时运行。这很酷,但它是如何实现的?它会翻译吗?
我注意到,如果在代码中初始化 C++ 中的静态变量,则初始化仅在第一次运行该函数时运行。
这很酷,但是它是如何实现的呢?它是否转化为某种扭曲的 if 语句?(如果给定一个值,则...)
void go( int x )
{
static int j = x ;
cout << ++j << endl ; // see 6, 7, 8
}
int main()
{
go( 5 ) ;
go( 5 ) ;
go( 5 ) ;
}
什么使得静态变量仅初始化一次?
下载声明:
本站所有软件和资料均为软件作者提供或网友推荐发布而来,仅供学习和研究使用,不得用于任何商业用途。如本站不慎侵犯你的版权请联系我,我将及时处理,并撤下相关内容!