答:C++11:内存地址早就占用了,但是会在你第一次执行到初始化的那行代码的时候初始化它,线程安全,可重入。
------ by 轮子哥
突发奇想写下了如下代码:可是local static变量number并没有初始化,所以在网上找到了这个答案。然而aaa是有初始化的。并且是在main函数执行前初始化的。
#include <iostream>
using namespace std;
void * funca();
int funcb();
static int aaa = funcb();
int main()
{
cin.get();
return 0;
}
void * funca()
{
static int number = funcb();
cout << "....\n";
++number;
return &number;
}
int funcb()
{
cout << "Enter number:";
int n;
cin >> n;
return n;
}
线程安全还没懂。。。
网友评论