的筆記
隨時隨地編輯
導航
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架構(10177)
2.?CEGUI筆記(5964)
3.?Ogre TerrainGroup地形賞析(5501)
4.?Unreal Engine 4 開發記錄(5291)
5.?LUA源碼分析上(5103)
6.?Ogre骨骼動畫分析(4800)
7.?武俠二源碼分析(4644)
8.?lua編譯筆記(4569)
9.?UE4扯淡大雜燴第一季(3339)
10.?UE4小筆記(3326)
評論排行榜
1.?LUA源碼分析上(7)
2.?CEGUI筆記(4)
3.?Ogre嵌入qt筆記(4)
4.?main 函數反匯編之函數創建和恢復現場(3)
5.?Ogre骨骼動畫分析(3)
6.?Ogre TerrainGroup地形賞析(3)
7.?你說我說他說大家一起玩點好玩的游戲(2)
8.?圖形學基礎的一點好書(1)
9.?OpenGL ES 3.0,代號哈爾蒂亞(1)
10.?C++繼承類中構造函數與析構函數的容易誤解的地方(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 © 的筆記
久久精品国产亚洲AV香蕉
|
久久丝袜精品中文字幕
|
久久婷婷成人综合色综合
|
狠狠色丁香婷婷久久综合不卡
|
久久精品国产69国产精品亚洲
|
久久精品成人欧美大片
|
久久久一本精品99久久精品88
|
97超级碰碰碰碰久久久久
|
久久久久久精品久久久久
|
欧美精品一本久久男人的天堂
|
久久综合视频网
|
热久久国产精品
|
久久99精品久久久久久hb无码
|
一级做a爰片久久毛片人呢
|
中文字幕无码av激情不卡久久
|
996久久国产精品线观看
|
香港aa三级久久三级老师2021国产三级精品三级在
|
国内精品久久久久久久97牛牛
|
91久久国产视频
|
99久久er这里只有精品18
|
久久大香萑太香蕉av
|
亚洲国产天堂久久综合网站
|
日日噜噜夜夜狠狠久久丁香五月
|
国产精品女同一区二区久久
|
久久精品亚洲精品国产色婷
|
久久综合九色综合精品
|
亚洲AV无码成人网站久久精品大
|
久久se精品一区二区影院
|
精品久久久久久中文字幕
|
亚洲а∨天堂久久精品
|
成人国内精品久久久久影院VR
|
亚洲精品国产字幕久久不卡
|
亚洲中文字幕无码久久综合网
|
欧美亚洲国产精品久久高清
|
久久久久一本毛久久久
|
久久99精品免费一区二区
|
国产精品女同一区二区久久
|
国产亚洲成人久久
|
久久精品成人免费观看97
|
日韩亚洲国产综合久久久
|
久久免费观看视频
|