C ++程序从main开始执行,并在main结束?

时间:2018-09-16 20:52:35

标签: c++ oop

#include <bits/stdc++.h>
using namespace std;

class A
{

public:
A()
   {
    cout<<"A is called";

    }
}a;

int main()

{
    cout<<"main is called";

}

但是在这里先调用A函数,然后再调用main函数 其背后的机制是什么?

1 个答案:

答案 0 :(得分:0)

这是首先创建类型为a的全局变量A的过程。在构造函数中,您输出文本A is called,然后程序以主要功能开始。

因此,您所看到的应该是预期的,并且您从中得到的结果是,必须在执行main()全局变量之前创建它。

如果要查找全局对象具有的static storage duration,则可以找到更多信息。

注意:标准中未指定具有静态存储持续时间的对象的创建顺序 ,因此可以观察到任何顺序。