青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

實時陰影繪制技術研究

C++博客 首頁 新隨筆 聯系 聚合 管理
  48 Posts :: 20 Stories :: 57 Comments :: 0 Trackbacks
from:http://www.pconline.com.cn/pcedu/empolder/gj/c/0407/421424.html

ANSI C++ 中的 Singleton 實現說難不難,說容易也不容易,很多人寫 ANSI C++ 的 Singleton class 都有錯誤。這篇文章討論怎樣在 ANSI c++ 中寫 Singleton class, 希望對大家有幫助。

? 《設計模式》中把 Singleton 寫成返回指針:



class Singleton{
public:
??? static Singleton* Instance();
protected:
??? Singleton();
private:
??? static Singleton* _instance;
};

????? 相應的實現 cpp 文件是:


Singleton* Singleton::_instance;
Singleton* Singleton::Instance(){
??? if( _instance == 0){
??????? _instance = new Singleton;
??? };
??? return _instance;
}

?

??? 將構造函數設計成 protected 的目的是防止在 class 外面 new ,有人可能會設計成 private ,如果考慮到有可能會繼承這個類的話,還是將構造函數設計成 protected 比較好,還需要加一個 virtual 析構函數。為了防止別人復制 Singleton 對象:


Singleton* pSingleton = Singleton::Instance();
Singleton s1 = *pSingleton;
Singleton s2 = *pSingleton;
需要將拷貝構造(copy constructor)函數變成 private。


??? 但是這里存在的問題是,什么時候刪除 Singleton 對象?按照 C++ 的一個基本原則,對象在哪里創建就在哪里銷毀,這里還應該放一個 destroy 方法來刪除 Singleton 對象。如果忘了刪除就比較麻煩。Instance 函數還存在多線程同時訪問的加鎖問題。如果把 Instance 函數開始和結尾放上加鎖和解鎖,整個函數性能會下降很多。這不是一個好的設計。
??? 有一個小小的改動,可以避免忘了刪除 Singleton 對象帶來內存泄露的問題。那就是用 std:auto_ptr 來包含 Singleton 對象,定義一個class static member auto_ptr 對象,在析構的靜態 auto_ptr 變量的時候時候自動刪除 Singleton 對象。為了不讓用戶 delete Singleton 對象,需要將析構函數由 public 變成 protected。以下是頭文件 SingletonAutoPtr.h :


#include <memory>
using namespace std;
class CSingletonAutoPtr
{
private:
??? static auto_ptr<CSingletonAutoPtr> m_auto_ptr;

posted on 2006-03-27 13:57 苦行僧 閱讀(1201) 評論(2)  編輯 收藏 引用 所屬分類: 轉載

Feedback

# re: C++ 中的Singleton 類的實現討論 2006-04-21 09:11 Stone Jiang
當一個單體類引用另一個單體類的時候,在析構時,還要多加小心.
  回復  更多評論
  

# re: C++ 中的Singleton 類的實現討論 2006-04-22 05:56 苦行僧
但是我理解singlton一般就像static變量一樣,很少作為一個對象的屬性,實現上singlton也是用static來實現的,應該都是最后退出程序的時候析構吧。  回復  更多評論
  

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲一区三区视频在线观看| 一区二区三区产品免费精品久久75| 中文国产成人精品| 亚洲精品1区| 欧美 亚欧 日韩视频在线| 亚洲第一区在线| 欧美激情网友自拍| 欧美日韩国产高清| 欧美一区二区三区免费观看视频| 香蕉成人伊视频在线观看 | 亚洲一级在线| 国产精品一国产精品k频道56| 欧美在线免费观看视频| 久久久久久久久久久久久久一区 | 99国产麻豆精品| 99成人在线| 国产一区深夜福利| 亚洲高清视频在线观看| 欧美日韩精品中文字幕| 欧美在线免费视频| 免费视频一区| 亚洲一区黄色| 久热国产精品| 亚洲在线免费| 老司机午夜免费精品视频| 一区二区欧美精品| 欧美一区亚洲| 一区二区三区视频免费在线观看| 午夜精品成人在线视频| 亚洲激情一区二区三区| 亚洲一区免费| 日韩视频永久免费| 先锋影音久久久| 在线午夜精品| 久久久久99精品国产片| 亚洲一区二区三区精品视频| 久久全国免费视频| 西西人体一区二区| 欧美日韩成人网| 欧美成人自拍| 国产视频精品网| 99pao成人国产永久免费视频| 国产一区二区三区直播精品电影| 亚洲精品美女在线观看| 亚洲图色在线| 99热免费精品在线观看| 久久久国产91| 久久精品中文字幕一区| 国产精品久久久久久亚洲毛片| 欧美成va人片在线观看| 韩国成人福利片在线播放| 一区二区三区四区精品| 9l视频自拍蝌蚪9l视频成人| 久久婷婷国产麻豆91天堂| 久久精品国产清高在天天线| 欧美视频一区二区三区在线观看| 亚洲大片免费看| 亚洲国产mv| 久久躁日日躁aaaaxxxx| 久久天堂精品| 一区视频在线看| 久久久精品免费视频| 久久久久久亚洲精品杨幂换脸 | 亚洲第一精品福利| 久久人人97超碰国产公开结果| 欧美中文在线免费| 国产欧美日韩综合精品二区| 亚洲视频福利| 小黄鸭精品aⅴ导航网站入口| 欧美午夜电影网| 亚洲色无码播放| 西西人体一区二区| 国产亚洲欧美aaaa| 久久成人这里只有精品| 久久午夜视频| 亚洲青色在线| 欧美日本中文字幕| 一区二区三区 在线观看视频| 亚洲小视频在线观看| 国产精品欧美日韩一区| 欧美在线999| 欧美wwwwww| 9国产精品视频| 国产精品大片| 久久国产精品99国产精| 欧美大片第1页| 一区二区日韩伦理片| 国产精品永久在线| 久久久久国色av免费观看性色| 欧美激情第3页| 一区二区国产精品| 国产女主播在线一区二区| 久久精品一区二区三区四区 | 欧美a级一区二区| 日韩视频在线一区二区三区| 欧美三级乱码| 欧美影院一区| 亚洲欧洲在线观看| 久久成人免费网| 亚洲国产日韩欧美在线动漫| 欧美色视频日本高清在线观看| 午夜精品一区二区三区电影天堂| 免费不卡视频| 亚洲一区区二区| 亚洲国产精品久久久久| 国产精品第三页| 久热精品视频在线| 亚洲男人的天堂在线观看| 久久久久久一区| 亚洲天堂成人| 亚洲国产美女精品久久久久∴| 国产精品国产福利国产秒拍| 久久资源在线| 午夜国产精品视频免费体验区| 欧美激情一区二区三区四区| 欧美一区二区三区在线观看| 亚洲精品麻豆| 激情综合色综合久久| 国产精品视频xxxx| 欧美精品91| 久久字幕精品一区| 欧美在线91| 亚洲一区二区三区在线看| 91久久久亚洲精品| 农夫在线精品视频免费观看| 欧美制服第一页| 亚洲字幕一区二区| 一本色道久久综合亚洲精品小说 | 欧美日韩一区二区在线观看视频 | 亚洲视频一区| 亚洲精品护士| 亚洲大片精品永久免费| 免费91麻豆精品国产自产在线观看 | 欧美亚洲系列| 亚洲专区一区二区三区| 野花国产精品入口| 亚洲久久视频| 99热精品在线| 亚洲裸体俱乐部裸体舞表演av| 欧美成人一区二区三区| 美女尤物久久精品| 老司机免费视频久久| 久久久久久久网| 久久人体大胆视频| 久久久久青草大香线综合精品| 久久国产精品99精品国产| 午夜精彩国产免费不卡不顿大片| 亚洲午夜免费福利视频| 亚洲天堂网在线观看| 亚洲视频播放| 亚洲一级黄色| 午夜精品久久久久久99热| 亚洲欧美在线观看| 欧美中文字幕久久| 久久婷婷国产麻豆91天堂| 久久综合一区二区三区| 美女国产一区| 亚洲福利一区| 99国内精品| 亚洲男人的天堂在线| 久久电影一区| 欧美xart系列在线观看| 欧美日本中文| 国产女优一区| 亚洲丰满在线| 一区二区三区四区在线| 欧美一区=区| 美日韩丰满少妇在线观看| 欧美aa在线视频| 亚洲精品国产精品国自产观看浪潮| 日韩视频免费观看| 翔田千里一区二区| 久久久久久久高潮| 欧美日韩亚洲天堂| 国内精品久久久久久久97牛牛| 亚洲国产精品成人精品| 亚洲色无码播放| 久久免费国产| 亚洲精品国产拍免费91在线| 亚洲免费在线观看| 另类国产ts人妖高潮视频| 欧美午夜欧美| 在线欧美三区| 亚洲欧美在线一区二区| 免费久久99精品国产自在现线| 亚洲人成网站在线观看播放| 亚洲欧美激情在线视频| 免费在线播放第一区高清av| 国产精品免费在线| 亚洲日本va在线观看| 午夜一级久久| 亚洲国产一区二区三区在线播 | 日韩图片一区| 久久国产福利国产秒拍| 欧美日韩在线视频观看| 国一区二区在线观看| 亚洲综合色噜噜狠狠| 亚洲国产成人在线| 欧美专区在线播放| 国产精品色网|