的筆記
隨時隨地編輯
導航
C++博客
首頁
新隨筆
聯(lián)系
聚合
管理
<
2011年6月
>
日
一
二
三
四
五
六
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
1
2
3
4
5
6
7
8
9
統(tǒng)計
隨筆 - 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筆記
我創(chuàng)建render和system時老是失敗?求解釋啊
--song
9.?re: LUA源碼分析上[未登錄]
自己整理的啊。。謝謝分享
--shongbee2
10.?re: Ogre TerrainGroup地形賞析
樓主很認真啊。 我反正是寫不出這么細致的BLOG。
--Render Donkey
閱讀排行榜
1.?BLENDER架構(10173)
2.?CEGUI筆記(5962)
3.?Ogre TerrainGroup地形賞析(5499)
4.?Unreal Engine 4 開發(fā)記錄(5286)
5.?LUA源碼分析上(5100)
6.?Ogre骨骼動畫分析(4797)
7.?武俠二源碼分析(4642)
8.?lua編譯筆記(4564)
9.?UE4扯淡大雜燴第一季(3337)
10.?UE4小筆記(3324)
評論排行榜
1.?LUA源碼分析上(7)
2.?CEGUI筆記(4)
3.?Ogre嵌入qt筆記(4)
4.?main 函數(shù)反匯編之函數(shù)創(chuàng)建和恢復現(xiàn)場(3)
5.?Ogre骨骼動畫分析(3)
6.?Ogre TerrainGroup地形賞析(3)
7.?你說我說他說大家一起玩點好玩的游戲(2)
8.?圖形學基礎的一點好書(1)
9.?OpenGL ES 3.0,代號哈爾蒂亞(1)
10.?C++繼承類中構造函數(shù)與析構函數(shù)的容易誤解的地方(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
}
;
創(chuàng)建對象
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、節(jié)省全局靜態(tài)存儲區(qū)空間。每個singleton只會占用全局靜態(tài)存儲區(qū)一個指針所用的空間。
2、可以手動刪除這個對象。如果將對象聲明為singleton,不能手動刪除吧。
3、構造的時候可以使用參數(shù),很靈活。
posted on 2011-06-12 20:47
的筆記
閱讀(507)
評論(0)
編輯
收藏
引用
只有注冊用戶
登錄
后才能發(fā)表評論。
【推薦】100%開源!大型工業(yè)跨平臺軟件C++源碼提供,建模,組態(tài)!
網(wǎng)站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Powered by:
C++博客
Copyright © 的筆記
成人久久精品一区二区三区
|
亚洲国产精品久久电影欧美
|
亚洲国产天堂久久综合网站
|
国产国产成人久久精品
|
久久国产免费直播
|
国内精品人妻无码久久久影院导航
|
伊人精品久久久久7777
|
亚洲午夜久久久久久久久电影网
|
久久久久久久久久久久中文字幕
|
久久噜噜电影你懂的
|
亚洲午夜福利精品久久
|
久久99精品国产一区二区三区
|
久久无码一区二区三区少妇
|
麻豆AV一区二区三区久久
|
久久久久99精品成人片
|
久久久久高潮毛片免费全部播放
|
久久婷婷五月综合97色直播
|
久久精品亚洲精品国产色婷
|
一本色道久久88综合日韩精品
|
久久国产精品成人免费
|
亚洲色大成网站WWW久久九九
|
国产精品美女久久久网AV
|
久久精品成人免费看
|
亚洲综合精品香蕉久久网
|
久久久久久亚洲精品影院
|
91精品观看91久久久久久
|
99精品久久久久久久婷婷
|
国产福利电影一区二区三区久久久久成人精品综合
|
日韩精品国产自在久久现线拍
|
97精品依人久久久大香线蕉97
|
中文精品99久久国产
|
久久青青草原亚洲av无码
|
色成年激情久久综合
|
办公室久久精品
|
久久国产美女免费观看精品
|
国产成人久久精品麻豆一区
|
国产亚洲成人久久
|
久久国产高清一区二区三区
|
久久久免费观成人影院
|
亚洲欧美日韩精品久久亚洲区
|
婷婷久久综合九色综合绿巨人
|