【发布时间】:2012-08-24 14:09:39
【问题描述】:
C++ 入门说
每个局部静态变量在第一次之前初始化 执行通过对象的定义。局部静力学是 函数结束时不会被销毁;它们在编程时被破坏 终止。
局部静态变量与全局静态变量有什么不同吗?除了声明它们的位置之外,还有什么不同?
void foo () {
static int x = 0;
++x;
cout << x << endl;
}
int main (int argc, char const *argv[]) {
foo(); // 1
foo(); // 2
foo(); // 3
return 0;
}
比较
static int x = 0;
void foo () {
++x;
cout << x << endl;
}
int main (int argc, char const *argv[]) {
foo(); // 1
foo(); // 2
foo(); // 3
return 0;
}
【问题讨论】: