首页
随机
最近更改
特殊页面
社群首页
参数设置
关于WHY42
免责声明
WHY42
搜索
用户菜单
登录
欢迎来到Riguz的小站!这是一个私人wiki,用来记录一些我的笔记。
查看“︁C++:单例模式”︁的源代码
←
C++:单例模式
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
这是CEGUI源码中的单例模式实现模版: <source lang="cpp"> #include <cassert> template <typename T> class CEGUIEXPORT Singleton { protected: static #ifdef __MINGW32__ CEGUIEXPORT #endif T* ms_Singleton; public: Singleton( void ) { assert( !ms_Singleton ); ms_Singleton = static_cast<T*>(this); } ~Singleton( void ) { assert( ms_Singleton ); ms_Singleton = 0; } static T& getSingleton( void ) { assert( ms_Singleton ); return ( *ms_Singleton ); } static T* getSingletonPtr( void ) { return ( ms_Singleton ); } private: Singleton& operator=(const Singleton&) { return this; } Singleton(const Singleton&) {} }; </source> [[Category:Programe]]
返回
C++:单例模式
。