中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

北票市| 泌阳县| 三门县| 临海市| 霞浦县| 蓬莱市| 淅川县| 名山县| 新丰县| 耒阳市| 柘荣县| 淮安市| 柞水县| 临江市| 吐鲁番市| 饶平县| 城固县| 洛阳市| 阿合奇县| 资溪县| 昭觉县| 广平县| 确山县| 景东| 准格尔旗| 绥宁县| 雷波县| 镇远县| 林周县| 凤冈县| 元谋县| 屏山县| 广州市| 冷水江市| 麟游县| 买车| 化德县| 新竹市| 革吉县| 上栗县| 奎屯市|