的筆記
隨時隨地編輯
導航
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 © 的筆記
久久久无码精品亚洲日韩按摩
|
无码任你躁久久久久久老妇App
|
国产成人久久精品一区二区三区
|
久久精品无码专区免费东京热
|
久久99精品久久久久久动态图
|
国产精品欧美久久久天天影视
|
久久久精品一区二区三区
|
99久久精品免费看国产一区二区三区
|
精品无码人妻久久久久久
|
婷婷国产天堂久久综合五月
|
77777亚洲午夜久久多喷
|
99久久人妻无码精品系列
|
亚洲一级Av无码毛片久久精品
|
久久久久免费看成人影片
|
久久国产福利免费
|
69久久精品无码一区二区
|
国内精品伊人久久久影院
|
精品久久久久久国产三级
|
亚洲AV无码久久精品狠狠爱浪潮
|
国产精品福利一区二区久久
|
久久人人爽人人澡人人高潮AV
|
成人久久精品一区二区三区
|
日本五月天婷久久网站
|
狠狠人妻久久久久久综合
|
亚洲欧美成人综合久久久
|
亚州日韩精品专区久久久
|
国内精品久久久久久久亚洲
|
国产欧美一区二区久久
|
国产91色综合久久免费分享
|
亚洲熟妇无码另类久久久
|
三级三级久久三级久久
|
久久亚洲国产精品123区
|
国产伊人久久
|
久久久精品波多野结衣
|
国产成人精品久久亚洲高清不卡
|
久久国产精品99精品国产987
|
婷婷伊人久久大香线蕉AV
|
中文字幕日本人妻久久久免费
|
久久午夜免费视频
|
一本一本久久a久久综合精品蜜桃 一本一道久久综合狠狠老
|
色偷偷88888欧美精品久久久
|