欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

C++為什么會(huì)有智能指針-創(chuàng)新互聯(lián)

一、內(nèi)存管理

內(nèi)存管理一直是令C++程序員最頭疼的工作,C++繼承了C那高效而又靈活的指針,使用起來(lái)稍微不小心就會(huì)導(dǎo)致內(nèi)存泄漏(memory leak)、“野”指針(wild pointer)、訪問(wèn)越界(accessdenied)等問(wèn)題。曾幾何時(shí),C++程序員曾經(jīng)無(wú)限地向往Java、C#等語(yǔ)言的垃圾回收機(jī)制。雖然C++標(biāo)準(zhǔn)提供了智能指針std: :auto_ ptr, 但并沒(méi)有解決所有問(wèn)題。
閱讀完,你會(huì)了解到高效的內(nèi)存管理方法,徹底忘記“?!?Stack)、“堆”(Heap)等內(nèi)存分配相關(guān)的術(shù)語(yǔ),并且還會(huì)發(fā)現(xiàn),Boost 為C++提供的解決方案可能要比Java和C#等其他語(yǔ)言更好。

成都創(chuàng)新互聯(lián)是一家專注于網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站與策劃設(shè)計(jì),秦州網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:秦州等地區(qū)。秦州做網(wǎng)站價(jià)格咨詢:18980820575二、智能指針作用

智能指針(smart pointer)是C++群體中熱門(mén)的議題,圍繞它有很多有價(jià)值的討論和結(jié)論。它實(shí)踐了推薦書(shū)目[1]中的代理模式,代理了原始“裸”指針的行為,為它添加了更多更有用的特性。
C++引入異常機(jī)制后,智能指針由-種技巧升級(jí)為一種非常重要的技術(shù),因?yàn)槿绻麤](méi)有智能指針,程序員必須保證new對(duì)象能在正確的時(shí)機(jī)delete,四處編寫(xiě)異常捕獲代碼以釋放資源,而智能指針則可以在退出作用域時(shí)一不管是正常流程離開(kāi)或是因異常離開(kāi)一總調(diào)用delete來(lái)析構(gòu)在堆上動(dòng)態(tài)分配的對(duì)象。
存在很多種智能指針,其中最有名的應(yīng)該是C++98標(biāo)準(zhǔn)中的“自動(dòng)指針”std::auto_ ptr,它部分地解決了獲取資源自動(dòng)釋放的問(wèn)題,例如:

int main()
{
auto_ ptr< class_ need_ resource >p1 (new class_ need_ resource) ;
auto_ ptrp2 (factory.create()) ;
}//離開(kāi)作用域,p1、p2自動(dòng)析構(gòu)從而釋放內(nèi)存等資源
三、智能指針

utoptr的構(gòu)造函數(shù)接受new操作符或者對(duì)象工廠創(chuàng)建出的對(duì)象指針作為參數(shù),從而代理了原始指針。雖然它是- -一個(gè)對(duì)象,但因?yàn)橹剌d了operator*和 opreator->,其行為非常類似指針,可以把它用在大多數(shù)普通指針可用的地方。當(dāng)退出作用域時(shí)(離開(kāi)函數(shù)main()或者發(fā)生異常),C++語(yǔ)言會(huì)保證auto_ ptr對(duì)象銷毀,調(diào)用auto_ ptr的析構(gòu)函數(shù),進(jìn)而使用delete操作符刪除原始指針釋放資源。
auto_ ptr很好用,被包含在C++標(biāo)準(zhǔn)庫(kù)中令它在世界范圍內(nèi)被廣泛使用,使智能指針的思想、用法深入人心。但標(biāo)準(zhǔn)庫(kù)并沒(méi)有覆蓋智能指針的全部領(lǐng)域,尤其是最重要的引用計(jì)數(shù)型智能指針。
boost.smart_ ptr 庫(kù)是對(duì)C++98標(biāo)準(zhǔn)的-一個(gè)絕佳補(bǔ)充。它提供了六種智能指針,包括scoped_ ptr、 scoped array shared ptr、shared array, weak_ ptr 和intrusive_ptr,從各個(gè)方面來(lái)增強(qiáng)std: :auto_ _ptr, 而且是異常安全的。庫(kù)中的兩個(gè)類一-shared ptr和weak_ ptr 已被收入到C++新標(biāo)準(zhǔn)的TR1庫(kù)中。
接下來(lái)的部分將詳細(xì)介紹scoped ptr、scoped_ array、shared ptr和sharedarray,簡(jiǎn)要介紹另兩個(gè)組件weak_ ptr和intrusive_ ptr。它們都是很輕量級(jí)的對(duì)象,速度與原始指針相差無(wú)幾,對(duì)于所指的類型T也僅有一個(gè)很小且很合理的要求:類型T的析構(gòu)函數(shù)不能拋出異常。
這些智能指針都位于名字空間boost,為了使用smart_ _ptr 組件,需要包含頭文件
,即:
#include
using namespace boost;

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

分享標(biāo)題:C++為什么會(huì)有智能指針-創(chuàng)新互聯(lián)
當(dāng)前路徑:http://chinadenli.net/article46/jgseg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、企業(yè)網(wǎng)站制作品牌網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈、自適應(yīng)網(wǎng)站定制網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)
乱女午夜精品一区二区三区| 亚洲欧美日本国产有色| 中国美女草逼一级黄片视频| 久久热中文字幕在线视频| 国产又粗又猛又大爽又黄| 国产亚洲视频香蕉一区| 国产不卡的视频在线观看| 欧美日韩国产成人高潮| 都市激情小说在线一区二区三区| 国产丝袜极品黑色高跟鞋| 国产又粗又猛又爽色噜噜| 老鸭窝精彩从这里蔓延| 欧美日韩久久精品一区二区| 日本不卡一区视频欧美| 亚洲最大的中文字幕在线视频| 内射精品欧美一区二区三区久久久 | 97精品人妻一区二区三区麻豆| 久久综合亚洲精品蜜桃| 国产成人一区二区三区久久| 区一区二区三中文字幕| 男人的天堂的视频东京热| 日韩精品亚洲精品国产精品| 国产传媒一区二区三区| 欧美中文字幕一区在线| 精品国产av一区二区三区不卡蜜 | 国产精品一区二区视频大全| 午夜福利视频六七十路熟女| 国产又大又硬又粗又黄| 日本加勒比在线观看一区| 日本av一区二区不卡| 黄色片国产一区二区三区| 国产欧美高清精品一区| 精品久久少妇激情视频| 亚洲国产四季欧美一区| 九九热精彩视频在线免费| 亚洲av日韩一区二区三区四区 | 在线一区二区免费的视频 | 日本加勒比在线观看不卡| 亚洲伦片免费偷拍一区| 在线观看国产午夜福利| 麻豆欧美精品国产综合久久|