构造和析构顺序
C c;
int main()
{
A a;
B b;
static D d;
return 0;
}
析构顺序:局部对象先析构,全局对象和静态对象再析构。
~B ~A ~D ~C
构造顺序:全局对象先构造,局部对象再构造,静态局部对象在走到声明语句时再构造。
C A B D
特殊点就在于局部静态对象,构造顺序就像局部对象一样构造,但由于静态对象生命周期是整个程序所以在最后再析构。
C c;
int main()
{
A a;
B b;
static D d;
return 0;
}
析构顺序:局部对象先析构,全局对象和静态对象再析构。
~B ~A ~D ~C
构造顺序:全局对象先构造,局部对象再构造,静态局部对象在走到声明语句时再构造。
C A B D
特殊点就在于局部静态对象,构造顺序就像局部对象一样构造,但由于静态对象生命周期是整个程序所以在最后再析构。