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