1. 可能會(huì)出現(xiàn)資源泄漏的一種用法

假設(shè)我們有一個(gè)獲取進(jìn)程優(yōu)先權(quán)的函數(shù),還有一個(gè)在動(dòng)態(tài)分類的Widget對(duì)象上根據(jù)進(jìn)程優(yōu)先權(quán)進(jìn)行一些操作的函數(shù):

1 int priority();2 3 void processWidget(std::tr1::shared_ptr<Widget> pw, int priority);

注意這里使用了對(duì)象管理資源的用法(Item 13),processWidget為它需要處理的動(dòng)態(tài)分配對(duì)象Widget使用了智能指針(tr1::shared_ptr)。

現(xiàn)在考慮對(duì)processWidget函數(shù)的調(diào)用:

1 processWidget(new Widget, priority());

這個(gè)函數(shù)調(diào)用不能通過(guò)編譯,因?yàn)樵趖r1::shared_ptr構(gòu)造函數(shù)中顯示的使用了一個(gè)原生指針,而不能將“new Widget”返回的原生指針直接隱式轉(zhuǎn)換為tr1::shared_ptr。下面的代碼將會(huì)通過(guò)編譯:

1 processWidget(std::tr1::shared_ptr<Widget>(new Widget), priority());

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開(kāi)發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式