0
点赞
收藏
分享

微信扫一扫

C++全局对象与静态局部对象构造析构顺序

工程与房产肖律师 2022-02-04 阅读 54
c++

全局对象构造在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

举报

相关推荐

0 条评论