cocos2d-x中为什么要用sharedXX()函数创建单例类的static对象

来源:互联网 发布:通用顶级域名有几个 编辑:程序博客网 时间:2024/05/29 23:44

如果在需要用到单例类对象时直接使用static成员对象,那么由于编译器对于不同的编译单元的编译顺序的不确定性,有可能在用到该static对象的时候该对象还没有初始化,而用函数sharedXX()创建单例类的static对象则可避免这一问题,因为C++保证,函数内的local  static对象会在“该函数被调用期间”“首次遇上该对象之定义式”时被初始化。


参见Effective C++ 条款4

0 0
原创粉丝点击