先来看一下Singleton的构造函数是Public的,这样不是大家都能用了?往下看,第一句就是assert(!ms_Singleton); 如果ms_Singleton不是0的话,也就是Singleton<T>已经有了一个自己的对象,那么程序就死翘翘了。如果是0,那么跳过13-16行,直接看17行的ms_Singleton = static_cast<T*>(this),有没有注意到那个this,出现在这里有点诡异。这里是构造函数,对象的初始化还没有完成呢,那么this指向的东西是什么呢?先来看一下怎么生成一个Singleton的实例。
posts - 2, comments - 4, trackbacks - 0, articles - 0
Copyright © 空心菜