4. 析构顺序的分析 前面我们直接给出了结论,下面用地段代码来看一下局部静态变量晚于全局(静态)变量析构的原因: #include<stdio.h>#include<string>#include<string.h>classA{public:A(){}A(conststd::string&name){name_=name;printf("A of %s\n",name_.c_str());}~A(){printf("~A of ...
在vc中,B::E、A::B、C::B 3个静态成员的析构顺序,竟然是B::E、A::B、C::B 如何控制静态成员析构顺序呢? Singleton? 研究了一下loki的singleton,发现它竟然在atexit的时候做了一些全局的内存释放工作,而atexit函数可以叠加,就是说是一个调用队列,最后执行的先调用,这样的话,根据声明顺序就可以实现释放顺...