main函数执行之前会做什么?

根据以下代码写出运行结果:

#include <iostream>
using namespace std;
class App{
    
    
public:
	App(){
    
     cout << "constructor of App" << endl;}
	~App(){
    
     cout << "destructor of App" << endl;}
};

App app1;

int main()
{
    
    
	cout << "main start." << endl;
	App app2;
	
	return 0;
}

答案:
在这里插入图片描述
分析:
这里定义了一个全局的对象app1, 所以在进入main函数之前这个对象需要先初始化——调用构造函数;
紧接着进入main函数,输出了函数日志“main start.” 紧接着定义了一个局部对象app2,所以又会有一次构造函数的调用;
main函数结束之前调用了app2的析构函数;
main函数执行结束,全局对象app1也被释放,同样调用了析构函数。

猜你喜欢

转载自blog.csdn.net/m0_37546257/article/details/121345703
今日推荐