的筆記
隨時隨地編輯
導航
C++博客
首頁
新隨筆
聯系
聚合
管理
<
2012年1月
>
日
一
二
三
四
五
六
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
統計
隨筆 - 103
文章 - 0
評論 - 34
引用 - 0
常用鏈接
我的隨筆
我的評論
我參與的隨筆
留言簿
(10)
給我留言
查看公開留言
查看私人留言
隨筆分類
(11)
C++(11)
(rss)
Git
(rss)
隨筆檔案
(103)
2020年2月 (2)
2019年2月 (1)
2018年12月 (2)
2018年7月 (1)
2018年6月 (1)
2018年2月 (2)
2017年6月 (4)
2017年5月 (4)
2017年4月 (1)
2017年3月 (2)
2017年1月 (5)
2016年12月 (2)
2015年12月 (1)
2015年8月 (1)
2015年7月 (1)
2014年7月 (2)
2014年5月 (1)
2014年2月 (1)
2013年9月 (1)
2013年8月 (2)
2013年5月 (1)
2013年4月 (1)
2013年3月 (1)
2012年8月 (1)
2012年7月 (1)
2012年4月 (1)
2012年2月 (3)
2012年1月 (5)
2011年12月 (6)
2011年7月 (13)
2011年6月 (15)
2011年5月 (5)
2011年4月 (9)
2011年3月 (4)
相冊
Animation
Blender架構
BLOG_PHOTO
Blueprints
cegui
Character
DirectX
GameDesign
GameplayAbility
SortingAlgorithms
BLOG
飛豬哥哥(?)
林公子
與食人魔獸之間的恩怨情仇
玉清哥哥(?)
搜索
最新評論
1.?re: Ogre骨骼動畫分析[未登錄]
內容看的有些懂了,不過作者很有意思
--albert
2.?re: LUA源碼分析上[未登錄]
忘了回你代碼格式用的VC自帶的@zr
--me
3.?re: LUA源碼分析上
@zr 有的是doxygen生成的,有的是understand生成的,再有的是PS的
--夸父的筆記
4.?re: 曬曬預處理Ogre宏[未登錄]
有意思嗎?樓豬
--aa
5.?re: LUA源碼分析上
請問文件中代碼調用圖你是用什么軟件生成的?
ps:文中代碼風格看著很舒服,能不能也透漏下是哪種軟件的style?
--zr
6.?re: 遇到唐雨柔,Sandbox崩潰
嘿嘿,還好,不是遇上夏雨荷
--渣漿泵
7.?re: Ogre骨骼動畫分析
扔下太久了,看著好累
--渣漿泵
8.?re: CEGUI筆記
我創建render和system時老是失敗?求解釋啊
--song
9.?re: LUA源碼分析上[未登錄]
自己整理的啊。。謝謝分享
--shongbee2
10.?re: Ogre TerrainGroup地形賞析
樓主很認真啊。 我反正是寫不出這么細致的BLOG。
--Render Donkey
閱讀排行榜
1.?BLENDER架構(10207)
2.?CEGUI筆記(5975)
3.?Ogre TerrainGroup地形賞析(5504)
4.?Unreal Engine 4 開發記錄(5297)
5.?LUA源碼分析上(5106)
6.?Ogre骨骼動畫分析(4809)
7.?武俠二源碼分析(4649)
8.?lua編譯筆記(4572)
9.?UE4扯淡大雜燴第一季(3349)
10.?UE4小筆記(3342)
評論排行榜
1.?LUA源碼分析上(7)
2.?CEGUI筆記(4)
3.?Ogre嵌入qt筆記(4)
4.?Ogre TerrainGroup地形賞析(3)
5.?Ogre骨骼動畫分析(3)
6.?main 函數反匯編之函數創建和恢復現場(3)
7.?你說我說他說大家一起玩點好玩的游戲(2)
8.?圖形學基礎的一點好書(1)
9.?C++繼承類中構造函數與析構函數的容易誤解的地方(1)
10.?OpenGL ES 3.0,代號哈爾蒂亞(1)
Ogre::Singleton 筆記
先看代碼
1
/**/
/*
* Template class for creating single-instance global classes.
2
*/
3
template
<
typename T
>
class
Singleton
4
{
5
private
:
6
/**/
/*
* \brief Explicit private copy constructor. This is a forbidden operation.
*/
7
Singleton(
const
Singleton
<
T
>
&
);
8
9
/**/
/*
* \brief Private operator= . This is a forbidden operation.
*/
10
Singleton
&
operator
=
(
const
Singleton
<
T
>
&
);
11
12
protected
:
13
14
static
T
*
ms_Singleton;
15
16
public
:
17
Singleton(
void
)
18
{
19
assert(
!
ms_Singleton );
20
#if
defined( _MSC_VER ) && _MSC_VER < 1200
21
int
offset
=
(
int
)(T
*
)
1
-
(
int
)(Singleton
<
T
>*
)(T
*
)
1
;
22
ms_Singleton
=
(T
*
)((
int
)
this
+
offset);
23
#else
24
ms_Singleton
=
static_cast
<
T
*
>
(
this
);
25
#endif
26
}
27
~
Singleton(
void
)
28
{ assert( ms_Singleton ); ms_Singleton
=
0
; }
29
static
T
&
getSingleton(
void
)
30
{ assert( ms_Singleton );
return
(
*
ms_Singleton ); }
31
static
T
*
getSingletonPtr(
void
)
32
{
return
ms_Singleton; }
33
}
;
創建對象
OGRE_NEW CgFxScriptLoader();
銷毀對象
OGRE_DELETE CgFxScriptLoader::getSingletonPtr();
類
Ogre::Singleton< T >
Ogre::Singleton< ArchiveManager >
Ogre::ArchiveManager
Ogre::Singleton< CompositorManager >
Ogre::CompositorManager
Ogre::Singleton< ControllerManager >
Ogre::ControllerManager
Ogre::Singleton< DistanceLodStrategy >
Ogre::DistanceLodStrategy
Ogre::Singleton< DynLibManager >
Ogre::DynLibManager
Ogre::Singleton< ExternalTextureSourceManager >
Ogre::ExternalTextureSourceManager
Ogre::Singleton< FontManager >
Ogre::FontManager
Ogre::Singleton< GpuProgramManager >
Ogre::GpuProgramManager
Ogre::Singleton< HardwareBufferManager >
Ogre::HardwareBufferManager
Ogre::Singleton< HighLevelGpuProgramManager >
Ogre::HighLevelGpuProgramManager
Ogre::Singleton< LodStrategyManager >
Ogre::LodStrategyManager
Ogre::Singleton< LogManager >
Ogre::LogManager
Ogre::Singleton< MaterialManager >
Ogre::MaterialManager
Ogre::Singleton< MeshManager >
Ogre::MeshManager
Ogre::Singleton< OverlayManager >
Ogre::OverlayManager
Ogre::Singleton< ParticleSystemManager >
Ogre::ParticleSystemManager
Ogre::Singleton< PixelCountLodStrategy >
Ogre::PixelCountLodStrategy
Ogre::Singleton< Profiler >
Ogre::Profiler
Ogre::Singleton< ProgramManager >
Ogre::RTShader::ProgramManager
Ogre::Singleton< ProgramWriterManager >
Ogre::RTShader::ProgramWriterManager
Ogre::Singleton< RenderSystemCapabilitiesManager >
Ogre::RenderSystemCapabilitiesManager
Ogre::Singleton< ResourceBackgroundQueue >
Ogre::ResourceBackgroundQueue
Ogre::Singleton< ResourceGroupManager >
Ogre::ResourceGroupManager
Ogre::Singleton< Root >
Ogre::Root
Ogre::Singleton< SceneManagerEnumerator >
Ogre::SceneManagerEnumerator
Ogre::Singleton< ScriptCompilerManager >
Ogre::ScriptCompilerManager
Ogre::Singleton< ShaderGenerator >
Ogre::RTShader::ShaderGenerator
Ogre::Singleton< ShadowTextureManager >
Ogre::ShadowTextureManager
Ogre::Singleton< SkeletonManager >
Ogre::SkeletonManager
Ogre::Singleton< TerrainGlobalOptions >
Ogre::TerrainGlobalOptions
Ogre::Singleton< TextureManager >
Ogre::TextureManager
不同于有些將singleton對象聲明為static,ogre將對象的指針聲明為static
1、節省全局靜態存儲區空間。每個singleton只會占用全局靜態存儲區一個指針所用的空間。
2、可以手動刪除這個對象。如果將對象聲明為singleton,不能手動刪除吧。
3、構造的時候可以使用參數,很靈活。
posted on 2011-06-12 20:47
的筆記
閱讀(509)
評論(0)
編輯
收藏
引用
只有注冊用戶
登錄
后才能發表評論。
【推薦】100%開源!大型工業跨平臺軟件C++源碼提供,建模,組態!
網站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Powered by:
C++博客
Copyright © 的筆記
日韩久久久久中文字幕人妻
|
久久国产精品久久久
|
亚洲欧美成人久久综合中文网
|
婷婷综合久久中文字幕蜜桃三电影
|
久久国产综合精品五月天
|
国产精品美女久久福利网站
|
久久精品天天中文字幕人妻
|
国产高清美女一级a毛片久久w
|
伊人久久国产免费观看视频
|
久久国产精品99久久久久久老狼
|
国内精品久久久人妻中文字幕
|
久久99精品久久久久久水蜜桃
|
伊人色综合久久天天人手人婷
|
精品久久久久久无码人妻热
|
无码伊人66久久大杳蕉网站谷歌
|
久久精品国产秦先生
|
久久久精品人妻一区二区三区蜜桃
|
精品一区二区久久
|
久久久久av无码免费网
|
久久久久久国产精品美女
|
国产精品美女久久久久网
|
伊人色综合久久天天人手人婷
|
狠狠精品干练久久久无码中文字幕
|
久久久久久伊人高潮影院
|
欧美日韩精品久久久免费观看
|
亚洲精品国产成人99久久
|
久久久无码精品亚洲日韩按摩
|
91精品国产91久久久久福利
|
久久综合久久综合亚洲
|
久久久精品视频免费观看
|
亚洲国产精品久久久久网站
|
日本精品久久久久中文字幕
|
AAA级久久久精品无码片
|
午夜人妻久久久久久久久
|
久久SE精品一区二区
|
国产美女亚洲精品久久久综合
|
久久亚洲精品无码aⅴ大香
|
亚洲日韩欧美一区久久久久我
|
色综合久久中文字幕综合网
|
亚洲国产成人久久笫一页
|
99久久综合国产精品免费
|