条款04:确定对象在使用前已先被初始化
其实先前写的很多Blog都在描述这个问题。但这个问题的危害性常常被忽视。因为引起错误的可能性不大,但往往一旦出现错误就极为隐蔽,很难发现。
那么Scott说了些什么?
第一、C++不保证对内置对象的初始化。
第二、C++提供了初始化列表,善于利用。
第三、用local static对象取代non-local static对象。
为了保证第三条不在多线程下出现争抢构造问题,需要对确保初始化时被调用。