能力值:
( LV2,RANK:10 )
|
-
-
2 楼
局部静态对象则在“某个时刻”初始化一次且仅一次;若他初始化过,就必须且只能在程序退出时析构。
那么在何时初始化呢? 唯一的答案是:“在第一次运行到其定义的时候”。 因为构造函数往往有参数 —— 系统不可能在 main 开始之前就确定所有参数。
更具体的可参看此帖子
9eeK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3u0D9L8$3N6Q4x3X3g2U0M7$3c8F1i4K6u0W2L8X3g2@1i4K6u0r3L8%4S2Q4y4h3k6@1K9r3g2V1j5i4u0C8L8X3g2K6M7#2)9J5c8X3q4J5N6r3W2U0L8r3g2Q4x3V1k6V1k6i4c8S2K9h3I4K6i4K6u0r3y4e0V1%4x3o6x3$3
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
在函数中的static修饰的对象是指无论这个函数执行多少次,他只在第一次执行时初始化,后面每次再次执行到这个函数时不再初始化这个对象,而是继续使用上次的值。
举个例子
void fun(){
static int i = 0;
i++;
cout<<i;
}
int main()
{
for(int i = 0; i < 100;i++){
fun();
}
return 0;
}
这种情况下程序的输出结果就是从0->99,
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
你好像没看清我在问什么,我是说静态对象,不是类里的静态变量
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
那书上说的怎么解释呢?
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
和实际的不一样,书上的错了呗~~~实践是检验真理的唯一标准
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
hbsfhbsfhbsfnsfns
|
|
|