全局函数中的static变量问题现有://teststatic.cppvoidTestStatic(intnCopy){staticintanCopycout a
全局函数中的static变量问题
现有:
//teststatic.cpp
void TestStatic(int nCopy)
{
static int a = nCopy;
cout < < a < < endl;
}
int main()
{
TestStatic(1);
TestStatic(2);
}
结果:
1
1
press any key to continue
问题是:为什么这样的结果??
[解决办法]
static变量就这样的啊,只初始化一次。
[解决办法]
抱歉,打快了,不是被“赋值一次”是 “被初始化一次”。
ok,你再看看结果。
[解决办法]
TestStatic(1);
TestStatic(2);
输出的是同一个内存地址里的值
具体见:
http://dev.csdn.net/author/haoel/f10d3532658744ab87e4d4a000091b81.html
