国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

南昌手機(jī)網(wǎng)站建設(shè)找資源

南昌手機(jī)網(wǎng)站建設(shè),找資源,裝修公司接單平臺(tái),做網(wǎng)站的標(biāo)簽及屬性文章目錄 一.單例模式二.單例模式的兩種實(shí)現(xiàn)方式餓漢模式懶漢模式 一.單例模式 一個(gè)類(lèi)只能創(chuàng)建一個(gè)對(duì)象,這樣的類(lèi)的設(shè)計(jì)模式就稱(chēng)為單例模式,該模式保證系統(tǒng)中該類(lèi)只能有一個(gè)實(shí)例(并且父子進(jìn)程共享),一個(gè)很典型的單例類(lèi)就是CSTL的內(nèi)存池C單例模式的基本設(shè)計(jì)思路: 私有化構(gòu)造函數(shù)…

在這里插入圖片描述

文章目錄

  • 一.單例模式
  • 二.單例模式的兩種實(shí)現(xiàn)方式
    • 餓漢模式
    • 懶漢模式

一.單例模式

  • 一個(gè)類(lèi)只能創(chuàng)建一個(gè)對(duì)象,這樣的類(lèi)的設(shè)計(jì)模式就稱(chēng)為單例模式,該模式保證系統(tǒng)中該類(lèi)只能有一個(gè)實(shí)例(并且父子進(jìn)程共享),一個(gè)很典型的單例類(lèi)就是C++STL的內(nèi)存池
  • C++單例模式的基本設(shè)計(jì)思路:
    • 私有化構(gòu)造函數(shù),刪除默認(rèn)的拷貝構(gòu)造函數(shù)賦值運(yùn)算符重載防止對(duì)象被直接創(chuàng)建和拷貝
    • 單例對(duì)象的內(nèi)存資源可以交給操作系統(tǒng)來(lái)釋放,也可以自定義析構(gòu)函數(shù)來(lái)完成特殊操作

二.單例模式的兩種實(shí)現(xiàn)方式

餓漢模式

  • 餓漢單例類(lèi)在程序進(jìn)入主函數(shù)之前就創(chuàng)建出唯一的實(shí)例
//餓漢單例模式
class HungerSingleton
{
public://定義一個(gè)可以訪問(wèn)單例對(duì)象的靜態(tài)接口static HungerSingleton* Getinstance(){return &singleObj;}
private://構(gòu)造函數(shù)私有化,防止對(duì)象被直接創(chuàng)建HungerSingleton() { cout << "單例對(duì)象創(chuàng)建" << endl; }//刪除拷貝接口,防止對(duì)象被拷貝HungerSingleton(const HungerSingleton& single) = delete;HungerSingleton& operator=(const HungerSingleton& single) = delete;private://定義靜態(tài)區(qū)的HungerSingleton成員static HungerSingleton singleObj;//也可以定義成指針,初始化時(shí)在堆上創(chuàng)建//static HungerSingleton* singleObj;
};
//初始化類(lèi)的靜態(tài)成員
HungerSingleton HungerSingleton::singleObj;
//初始化時(shí)在堆上創(chuàng)建
//HungerSingleton * HungerSingleton::singleObj = new HungerSingleton;
  • HungerSingleton靜態(tài)成員變量自身類(lèi)型的對(duì)象(或指針),類(lèi)的靜態(tài)成員變量在進(jìn)入主函數(shù)之前就完成初始化,由于構(gòu)造函數(shù)被私有化,因此在程序運(yùn)行過(guò)程中無(wú)法再創(chuàng)建該類(lèi)的對(duì)象
  • 餓漢單例模式的優(yōu)勢(shì):
    • 由于子進(jìn)程只能在主函數(shù)中被創(chuàng)建,因此餓漢單例類(lèi)不存在線程安全問(wèn)題,無(wú)需與其他線程的類(lèi)競(jìng)爭(zhēng)系統(tǒng)資源,在多線程高并發(fā)環(huán)境下能夠較為高效地執(zhí)行任務(wù)
  • 餓漢單例模式的劣勢(shì):
    • 如果一個(gè)程序中有多種餓漢單例類(lèi),我們無(wú)法控制它們的初始化順序
    • 餓漢單例類(lèi)會(huì)拖慢程序的啟動(dòng)速度,而且即便用不到該類(lèi)也會(huì)創(chuàng)建一個(gè)實(shí)例,可能造成內(nèi)存浪費(fèi)

懶漢模式

  • 懶漢單例類(lèi)在程序進(jìn)入主函數(shù)之后由后續(xù)代碼決定是否創(chuàng)建實(shí)例
//懶漢單例模式
class LazySingleton
{
public://定義一個(gè)可以訪問(wèn)單例對(duì)象的靜態(tài)接口static LazySingleton* Getinstance(){//若singleObj為空指針則創(chuàng)建單例對(duì)象if (singleObj == nullptr){singleObj = new LazySingleton;}return singleObj;}
private://構(gòu)造函數(shù)私有化,防止對(duì)象被創(chuàng)建LazySingleton() { cout << "單例對(duì)象創(chuàng)建" << endl; }//刪除拷貝接口,防止對(duì)象被拷貝LazySingleton(const LazySingleton& single) = delete;LazySingleton& operator=(const LazySingleton& single) = delete;private://定義成靜態(tài)成員指針,初始化時(shí)在堆上創(chuàng)建static LazySingleton* singleObj;
};
//初始化時(shí)設(shè)置成空指針
LazySingleton * LazySingleton::singleObj = nullptr;
  • LazySingleton類(lèi)在第一次調(diào)用Getinstance()成員接口時(shí)才會(huì)創(chuàng)建實(shí)例
  • 懶漢單例模式的優(yōu)勢(shì):
    • 可以控制多種懶漢單例類(lèi)對(duì)象的初始化順序,并且需要用到的時(shí)候才創(chuàng)建,避免了內(nèi)存浪費(fèi)
  • 懶漢單例模式的劣勢(shì):
    • 在多線程環(huán)境中存在線程安全問(wèn)題,需要加鎖
      在這里插入圖片描述
http://aloenet.com.cn/news/30548.html

相關(guān)文章:

  • php網(wǎng)站開(kāi)發(fā)案例教程廣告聯(lián)盟app下載官網(wǎng)
  • 上海做網(wǎng)站 公司排名視頻號(hào)排名優(yōu)化帝搜軟件
  • 做網(wǎng)站要多少錢(qián)呀產(chǎn)品推廣步驟
  • 泰達(dá)建設(shè)集團(tuán)網(wǎng)站廈門(mén)最快seo
  • 免費(fèi)域名建站鄭州網(wǎng)站推廣電話
  • 服務(wù)好的網(wǎng)站制作鄭州seo排名優(yōu)化
  • 定制網(wǎng)站建設(shè)公司費(fèi)用搜狗收錄查詢(xún)
  • wordpress 目錄遍歷電腦優(yōu)化設(shè)置
  • 10_10_微信里網(wǎng)站怎么做的seo搜索如何優(yōu)化
  • 漂亮的手機(jī)網(wǎng)站模板北京優(yōu)化seo排名優(yōu)化
  • 建網(wǎng)站的要求寧波優(yōu)化關(guān)鍵詞首頁(yè)排名
  • 做微商賣(mài)產(chǎn)品在哪個(gè)網(wǎng)站銷(xiāo)量能好點(diǎn)公司seo營(yíng)銷(xiāo)
  • 做淘寶需要知道什么網(wǎng)站嗎seo技術(shù)網(wǎng)網(wǎng)
  • 萬(wàn)網(wǎng)官方網(wǎng)站排名優(yōu)化價(jià)格
  • 大連網(wǎng)絡(luò)宣傳網(wǎng)站寧波seo關(guān)鍵詞如何優(yōu)化
  • 本機(jī)做web打開(kāi)網(wǎng)站無(wú)法顯示網(wǎng)站seo怎么推排名
  • 做外貿(mào)一般去什么網(wǎng)站找客戶(hù)上海推廣服務(wù)
  • 建站網(wǎng)站排行榜北京seo排名收費(fèi)
  • 網(wǎng)站營(yíng)銷(xiāo)網(wǎng)畫(huà)質(zhì)優(yōu)化app下載
  • 網(wǎng)站修改關(guān)鍵詞雙橋seo排名優(yōu)化培訓(xùn)
  • 江門(mén)網(wǎng)站建設(shè)企業(yè)商丘seo排名
  • 網(wǎng)站基本維護(hù)seo技術(shù) 快速網(wǎng)站排名
  • 投資做網(wǎng)站廣告媒體資源平臺(tái)
  • 國(guó)內(nèi)攝影作品網(wǎng)站免費(fèi)建網(wǎng)站的步驟
  • 東莞網(wǎng)站優(yōu)化中易品牌推廣渠道有哪些
  • 做的網(wǎng)站怎么讓百度收索時(shí)搜seo實(shí)戰(zhàn)指導(dǎo)
  • 嵐山網(wǎng)站建設(shè)報(bào)價(jià)山東網(wǎng)絡(luò)推廣網(wǎng)站
  • iis2008如何做網(wǎng)站百度知道合伙人
  • 徐州萬(wàn)網(wǎng)網(wǎng)站建設(shè)seo優(yōu)化上首頁(yè)
  • 利用云服務(wù)器做網(wǎng)站谷歌推廣哪家好