如果某个编译单元A内部初始化时使用了另外一个编译单元B里面的non-local static对象,则编译时是不确定A使用了B中的对象是否初始化的。那么就有可能引起灾难,为了避免这个灾难我们找到了一种新方法:
它使用了一个特性,函数内的本地静态对象会在“该函数被调用期间” “首次遇上该对象之定义式”时被初始化,如果使用“函数调用”(返回一个本地静态对象的引用)替换直接访问全局对象,就可以获得一个保证那个引用获得的是历经初始化的对象。
本文介绍了一种新的方法来解决不同编译单元之间的初始化依赖问题,通过利用函数内本地静态对象的特性,确保在函数调用过程中首次遇到本地静态对象时进行初始化,从而避免未初始化对象导致的问题。
如果某个编译单元A内部初始化时使用了另外一个编译单元B里面的non-local static对象,则编译时是不确定A使用了B中的对象是否初始化的。那么就有可能引起灾难,为了避免这个灾难我们找到了一种新方法:
它使用了一个特性,函数内的本地静态对象会在“该函数被调用期间” “首次遇上该对象之定义式”时被初始化,如果使用“函数调用”(返回一个本地静态对象的引用)替换直接访问全局对象,就可以获得一个保证那个引用获得的是历经初始化的对象。
231
218

被折叠的 条评论
为什么被折叠?