Effictive C++学习笔记
为免除“跨编译单元之初始化次序”问题,可以用local static对象替换non-local static对象。将每个non-local static对象搬到自己的专属函数内(该对象在此函数内被声明为static)。这些函数返回一个reference指向它所含的对象。然后用户调用这些函数,而不直接指涉这些对象。换句话说,non-local static 对象被local static 对象替换了。这个手法的基础在于:C++保证,函数内的local static对象会在“该函数被调用期间”“首次遇上该对
复制链接