定义A、B、C、D四个类按照下列方式进行调用
B b;
int main()
{
A a;
D d;
static C c;
return 0;
}
类的构造和析构顺序结果为
由结果可见,全局对象B先进行构造,然后ADC按定义顺序进行构造。
析构的时候先析构局部对象,按照先构造后析构的顺序D、A进行析构。存在栈上。
再析构静态对象和全局对象C、B。因为B和C存在.data段。
题外话:(这是昨网易互联网笔试的一道题,倒是选对了,但是昨天的笔试答的超级惨,感觉自己看了挺多书,但那些知识点都是见过,记得,感觉题好像也不是很难,但是有些东西还是并不了解究竟怎么做,就像编译器究竟对lnline函数做了什么还是不知道,我开始认真的知道,纸上得来终觉浅,绝知此事要躬行,时间很快,在以网易笔试拉开帷幕的秋招里好好加油吧。)