我注意到如果在代码中初始化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 ) ;
}
Run Code Online (Sandbox Code Playgroud)