2012年7月6日
摘要: 今天又遇到了这个问题,就地总结下以免遗忘。 在一个编译单元(如一个.c或.cpp文件)中,静态对象的初始化顺序与该对象出现在此编译单元中的顺序相同;而清除该对象的顺序则与初始化的顺序相反。 (注:函数内部的静态对象在函数第一次被调用时初始化,且只被初始化一次。) 但是如果多个静态对象被定义在不同的编译单元中,那么它们的初始化顺序将是不确定的。示例如下:1//x.cpp2externinty;3intx=y+1;456//y.cpp7externintx;8inty=x+1;91011//main.cpp12#include<iostream>13usingnamespacestd; 阅读全文
posted @ 2012-07-06 23:50 sanlo 阅读(461) 评论(0) 推荐(0) 编辑