91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++怎么實現標準庫以外的智能指針

發布時間:2021-11-26 15:02:43 來源:億速云 閱讀:125 作者:iii 欄目:大數據

本篇內容主要講解“C++怎么實現標準庫以外的智能指針”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“C++怎么實現標準庫以外的智能指針”吧!

R.31:如果需要實現標準庫以外的智能指針,遵照標準庫中的基本模式

Reason(原因)

后面章節中的準則也適用于其他類型的第三方和自定義的智能指針,它們對于發現一般的可能導致性能和正確性問題的智能指針錯誤很有效。你需要的是對所有智能指針都有效的的準則。

重載了一元*和->的任何類型(包括主要的模板和特化)都可以看作智能指針。

  • 如果它是可拷貝的,就被認為是帶有參照計數的共享指針。

  • 如果它不可拷貝,就被認為是獨占的unique_ptr。

Example(示例)

// use Boost's intrusive_ptr
#include <boost/intrusive_ptr.hpp>
void f(boost::intrusive_ptr<widget> p)  // error under rule 'sharedptrparam'
{
   p->foo();
}

// use Microsoft's CComPtr
#include <atlbase.h>
void f(CComPtr<widget> p)               // error under rule 'sharedptrparam'
{
   p->foo();
}

兩種情況都犯了sharedptrParam準則指出的錯誤:p是一個共享指針,但是這里沒有用到任何有關共享的功能。而且通過傳值方式傳遞智能指針是一種默認的許可;這個函數應該只在參與widget的生命周期管理時才接受智能指針。其他情況下:如果函數允許為空,它們應該接受widget*,否則應該接受widget&。這些智能指針匹配Shared_pointer概念,因此推薦這些準則推薦的規則也可以馬上適用于它們。

到此,相信大家對“C++怎么實現標準庫以外的智能指針”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

侯马市| 山西省| 洪湖市| 崇义县| 同心县| 砀山县| 彩票| 翁源县| 闽清县| 温宿县| 句容市| 博罗县| 格尔木市| 九龙城区| 乐清市| 栾城县| 出国| 绥棱县| 肃宁县| 咸宁市| 岚皋县| 三台县| 大方县| 锦屏县| 揭阳市| 宿迁市| 福建省| 蓬莱市| 乌拉特中旗| 蓬溪县| 瓦房店市| 钟山县| 凌海市| 开化县| 丰宁| 连江县| 梁平县| 巴马| 七台河市| 中江县| 琼结县|