全局对象构造在main函数执行之前,局部静态对象构造在执行函数体之前;局部静态对象析构早于全局对象,都在main函数之后。
#include<stdio.h>
 
class A {
    int a;
public:
    A(int i) {a = i; printf("A() %d\n", a);}
    ~A() {printf("~A() %d\n", a);}
};
void Get() {
    printf("Get() enter\n");
    static A obj3(3);
    printf("Get() end\n");
}
A obj1(1);
A obj2(2);
int main() {
    printf("main() enter\n");
    Get();
    printf("main() end\n");
    return 0;
}
结果:
A() 1
A() 2
main() enter
Get() enter
A() 3
Get() end
main() end
~A() 3
~A() 2
~A() 1
 









