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

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

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

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

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

1 processWidget(new Widget, priority());

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

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

延伸閱讀

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