亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

13.2.1

2019-11-14 09:41:35
字體:
來源:轉載
供稿:網友

13.23 有一定差異,我使用if判斷是否自我拷貝 本節使用先拷貝右側對象的方式來使自我拷貝正常運行

13.24 如果沒有定義析構函數,肯定會發生內存泄露 如果沒有定義拷貝構造函數,當使用了拷貝構造函數時,刪除一個對象會使和其他對象共用的內存被釋放,其他對象則出現錯誤

13.25 拷貝構造和拷貝賦值必須新建內存,而不是和右側共用內存

當shared_ptr計時器為0時,會自動的釋放,所以不需要析構函數

13.26 @pezy

https://github.com/PYPARA/Cpp-PRimer/blob/master/ch13/ex13_26.h

#include <vector>#include <string>#include <initializer_list>#include <memory>#include <exception>using std::vector; using std::string;class ConstStrBlobPtr;class StrBlob {public: using size_type = vector<string>::size_type; friend class ConstStrBlobPtr; ConstStrBlobPtr begin() const; ConstStrBlobPtr end() const; StrBlob():data(std::make_shared<vector<string>>()) { } StrBlob(std::initializer_list<string> il):data(std::make_shared<vector<string>>(il)) { } // copy constructor StrBlob(const StrBlob& sb) : data(std::make_shared<vector<string>>(*sb.data)) { } // copyassignment Operators StrBlob& operator=(const StrBlob& sb); size_type size() const { return data->size(); } bool empty() const { return data->empty(); } void push_back(const string &t) { data->push_back(t); } void pop_back() { check(0, "pop_back on empty StrBlob"); data->pop_back(); } std::string& front() { check(0, "front on empty StrBlob"); return data->front(); } std::string& back() { check(0, "back on empty StrBlob"); return data->back(); } const std::string& front() const { check(0, "front on empty StrBlob"); return data->front(); } const std::string& back() const { check(0, "back on empty StrBlob"); return data->back(); }private: void check(size_type i, const string &msg) const { if (i >= data->size()) throw std::out_of_range(msg); }private: std::shared_ptr<vector<string>> data;};class ConstStrBlobPtr {public: ConstStrBlobPtr():curr(0) { } ConstStrBlobPtr(const StrBlob &a, size_t sz = 0):wptr(a.data), curr(sz) { } // should add const bool operator!=(ConstStrBlobPtr& p) { return p.curr != curr; } const string& deref() const { // return value should add const auto p = check(curr, "dereference past end"); return (*p)[curr]; } ConstStrBlobPtr& incr() { check(curr, "increment past end of StrBlobPtr"); ++curr; return *this; }private: std::shared_ptr<vector<string>> check(size_t i, const string &msg) const { auto ret = wptr.lock(); if (!ret) throw std::runtime_error("unbound StrBlobPtr"); if (i >= ret->size()) throw std::out_of_range(msg); return ret; } std::weak_ptr<vector<string>> wptr; size_t curr;};ConstStrBlobPtr StrBlob::begin() const // should add const{ return ConstStrBlobPtr(*this);}ConstStrBlobPtr StrBlob::end() const // should add const{ return ConstStrBlobPtr(*this, data->size());}StrBlob& StrBlob::operator=(const StrBlob& sb){ data = std::make_shared<vector<string>>(*sb.data); return *this;}int main(){ return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久精品亚洲| 深夜精品寂寞黄网站在线观看| 欧美成人免费一级人片100| 国产a∨精品一区二区三区不卡| 精品国产精品自拍| 欧美综合激情网| 欧美丰满少妇xxxxx做受| 日本一本a高清免费不卡| 欧美成人手机在线| 欧美老少做受xxxx高潮| 国产亚洲精品一区二区| yw.139尤物在线精品视频| 亚洲欧美日韩另类| 视频一区视频二区国产精品| 国产欧美精品日韩精品| 亚洲综合日韩中文字幕v在线| 茄子视频成人在线| 一本一本久久a久久精品综合小说| 中文字幕欧美亚洲| 97精品一区二区视频在线观看| 国产91精品最新在线播放| 国产精品久久久久77777| 最好看的2019年中文视频| 91免费视频国产| 91色精品视频在线| 一本色道久久综合亚洲精品小说| 久久久久久国产免费| 亚洲一区制服诱惑| 国产精品视频自拍| 91精品久久久久久综合乱菊| 韩国精品久久久999| 亚洲精品日韩在线| 国产69精品久久久久9| 国产999精品久久久影片官网| 最近更新的2019中文字幕| 欧美在线观看网址综合| 国产一区二区三区在线视频| 亚洲欧洲在线看| 欧美性生活大片免费观看网址| 最近2019好看的中文字幕免费| 欧美高清自拍一区| 91视频国产一区| 综合久久五月天| 国产日韩在线播放| 亚洲综合第一页| 亚洲一区www| 久久中文字幕在线| 国产精品69av| 亚洲xxx大片| 欧美性高潮床叫视频| 91日韩在线视频| 国产精品日韩在线播放| 日韩一二三在线视频播| 欧美激情视频一区二区| 欧美与欧洲交xxxx免费观看| 国产午夜精品久久久| 久久精品视频在线| 欧美色道久久88综合亚洲精品| 日产精品99久久久久久| 中文字幕免费精品一区高清| 亚洲自拍偷拍网址| 亚洲欧美精品一区| 国产精品一区二区三区毛片淫片| 国产欧美日韩免费| 成人国内精品久久久久一区| 亚洲第一精品久久忘忧草社区| 日韩电影视频免费| 久久久久久国产精品三级玉女聊斋| 亚洲毛片在线看| 欧美国产乱视频| 国产精品爱啪在线线免费观看| 亚洲福利在线看| 亚洲自拍欧美色图| 免费91麻豆精品国产自产在线观看| 欧美性xxxx极品hd满灌| 亚洲国产高清福利视频| 在线观看中文字幕亚洲| 亚洲午夜色婷婷在线| 黄色精品在线看| 欧美乱人伦中文字幕在线| 欧美激情伊人电影| 亚洲国产欧美精品| 国产91在线高潮白浆在线观看| 精品国偷自产在线视频| 国产成人综合av| 日韩天堂在线视频| 91精品国产综合久久久久久久久| www.精品av.com| 日韩激情av在线播放| 91tv亚洲精品香蕉国产一区7ujn| 亚洲久久久久久久久久| 九九热在线精品视频| 国产免费观看久久黄| 亚洲毛片在线免费观看| 欧美激情视频免费观看| 久久人人爽人人爽人人片亚洲| 中文字幕日韩精品在线| 97在线观看免费| 97色在线视频| 国内精品久久久久影院 日本资源| 日韩美女视频在线观看| 国产香蕉97碰碰久久人人| 国产精品视频久久| 亚洲四色影视在线观看| 久久免费成人精品视频| 欧美第一黄色网| 国产午夜精品一区二区三区| 色综合亚洲精品激情狠狠| 精品久久久久久久久国产字幕| 国产精品96久久久久久| 91国内免费在线视频| 精品久久久久久亚洲精品| 欧美老女人bb| 国产精品欧美日韩| 热久久视久久精品18亚洲精品| 久久精品国产69国产精品亚洲| 国产精品成人在线| 欧美亚洲免费电影| 久久久久中文字幕| 亚洲码在线观看| 成人h视频在线观看播放| 国产69精品久久久久久| 日韩av在线直播| 欧美夫妻性生活视频| 国产日产欧美a一级在线| 欧美视频不卡中文| 亚洲国产一区二区三区四区| 一本色道久久综合亚洲精品小说| 黑人欧美xxxx| 国产精品色婷婷视频| 欧美激情视频网址| 麻豆精品精华液| 亚洲影院污污.| 国产精品大片wwwwww| 免费成人高清视频| 日韩免费在线电影| 欧美大片免费观看在线观看网站推荐| 日韩专区在线观看| 国产日韩综合一区二区性色av| 国产精品极品尤物在线观看| 国产精品久久久久久久午夜| 国产亚洲综合久久| 日韩一级裸体免费视频| 精品国产欧美一区二区五十路| 欧美电影在线观看网站| 久久久黄色av| 亚洲自拍偷拍福利| 国产精品久久久久久久7电影| 国产成人aa精品一区在线播放| 国产日产久久高清欧美一区| 亚洲国产成人久久| 欧美日韩加勒比精品一区| 日韩免费中文字幕| 岛国av午夜精品| 黄色一区二区在线观看| 欧美性猛交xxxx乱大交3| 亚洲综合一区二区不卡| 66m—66摸成人免费视频| 国产精品7m视频| 日本久久久久亚洲中字幕| 日韩欧美精品免费在线| 欧美一级大片在线免费观看| 久久久精品欧美| 精品国产一区二区三区四区在线观看|