【发布时间】:2014-11-20 20:13:58
【问题描述】:
class A
{
static void f(void)
{
int a;
static int b;
}
};
a 和 b 之间有什么(正式的或实际的)区别吗?
【问题讨论】:
-
b将在调用过程中保持其值,而a将在每次调用时重新初始化... -
你尝试的时候发生了什么?
-
是的,
a分配在堆栈上,b分配在数据段中。函数是static的事实不会影响其中变量的“行为”(即,对于非静态函数来说是相同的)。
标签: c++ static static-methods static-members