一级欧美视频_黑巨人与欧美精品一区_精品国产美女_欧洲一区在线电影_清纯唯美日韩_免费在线黄网_波多野结衣一区二区三区_伊人色综合一区二区三区影院视频_一区二区三区日本_av中文在线资源库

您現在的位置是: 產經 > > 正文

《EffectiveC++》讀書筆記(2):構造/析構/賦值運算_全球要聞

時間:2023-06-17 10:08:21 來源:面包芯語 發布者:DN032

點擊上方“C語言與CPP編程”,選擇“關注/置頂/星標公眾號”

干貨福利,第一時間送達!最近有小伙伴說沒有收到當天的文章推送,這是因為微信改了推送機制,確實會一部分有小伙伴刷不到當天的文章,一些比較實用的知識和信息,錯過了就是錯過了。所以建議大家加個星標??,就能第一時間收到推送了。

小伙伴們大家好,我是飛宇。


(資料圖)

今天繼續更新《Effective C++》和《C++并發編程實戰》的讀書筆記,下面是已經更新過的內容:

《C++并發編程實戰》讀書筆記(1):并發、線程管控

《C++并發編程實戰》讀書筆記(2):并發操作的同步

《Effective C++》讀書筆記(1):讓自己習慣C++

條款5、了解C++默認編寫并調用哪些函數

通常情況下,如果代碼中沒有聲明構造函數、拷貝構造函數、拷貝運算符、析構函數,編譯器會在需要時創建他們,但這往往只能滿足編譯器的需求,很可能無法滿足程序的需求。

實際的生成規則復雜一些,可以查閱cppreference。

編譯器生成的構造函數/析構函數是只是調用基類和非靜態成員變量的構造函數/析構函數;生成的析構函數是非虛的,除非基類有虛析構函數。

至于生成的拷貝構造函數和拷貝操作符只是單純將每個非靜態成員變量拷貝;有const成員或者引用成員時,以及基類拒絕拷貝操作符時,默認生成的拷貝操作符沒有意義,必須自己定義。

條款6、若不想使用編譯器自動生成的函數,就該明確拒絕

很多時候,你并不希望某些類被拷貝,而僅僅不實現拷貝構造/拷貝運算符是不夠的,因為編譯器可能會自行生成。

為此,可以把拷貝構造/拷貝運算符聲明為"=delete",或者聲明為private(后者較為過時)。

事實上,對于析構函數中需要釋放資源的類,為了防止內存問題,除非真的需要拷貝功能,否則最好都禁止拷貝。

可以讓它們繼承上面的類,即可禁止編譯器生成拷貝操作:編譯器試圖為它們生成拷貝構造/拷貝運算符時會嘗試調用基類Uncopyable的對應操作,而這會被拒絕。

條款7、為多態基類聲明virtual析構函數

C++中多態性質體現于虛函數:基類指針或引用調用虛函數時會檢查指向的對象是基類還是派生類,再調用對應的函數。其具體實現這里不再贅述。

當這樣的一個指向派生類的基類指針析構時,如果析構函數不是虛函數,則直接調用基類的析構函數,那么派生類獲取的資源未釋放,則會造成內存泄漏。

而當析構函數是虛函數時則先調用對應的派生類析構函數,再調用基類析構函數,資源全部釋放。

不過這種操作只有在基類是多態用途時才需要注意,也有很多類不是為了多態的用途,例如STL容器和上文的Uncopyable。

條款8、別讓異常逃離析構函數

C++中拋出異常時會逐步展開其函數調用棧,清空局部資源,直到異常被catch。

如果析構函數可以拋出異常,那么清空局部資源時局部對象的析構函數再次異常時同時存在兩個異常,C++無法處理,可能會過早結束或出現不明確行為。因此,析構函數絕對不要拋出異常,應通過try-catch捕獲任何異常。

有時,客戶需要處理某些異常,那么類應該提供一個普通成員函數執行相關操作,供用戶調用并處理異常。

例如數據庫連接這樣的類中,假設用戶需要處理關閉連接時的異常,同時析構函數不能拋出異常,可以這樣:

條款9、絕不在構造和析構過程中調用virtual函數

C++的構造過程是先構造基類再構造子類、先初始化再進入構造函數體;析構過程相反。

對于派生類的構造函數而言,進入其中時基類部分已構造完而派生類部分未構造完,對象類型是基類,故而此時調用虛函數,實際上使用的是基類的虛函數。

析構函數同理。進入析構函數后派生類部分呈未定義值,對象類型是基類,調用的是基類的虛函數。

總而言之,在構造函數與析構函數中虛函數的行為有特殊變化;為了避免出錯,不要在其過程中使用虛函數。如果真的有需求,可以改造成非虛函數再使用。

條款10、令operator=返回一個reference to *this

C++中通常支持連鎖賦值,采用右結合律:

為了支持這個常規,拷貝運算符需要返回一個引用。這一條款并不強制,但約定俗成。

條款11、在operator=中處理“自我賦值”

考慮這樣一個類,其中管理了一個堆對象

總有些時候,會出現實質上“a=a”這種自我賦值的情況。那么這樣簡單的拷貝運算符就會出錯,先釋放了自身的pb,又使用了pb:

傳統做法是函數開頭添加一個測試:

這種做法具備“自我賦值安全性”,但不具備“異常安全性”:例如當new Bitmap異常時,pb指向被刪除的內存。

常用的方法有兩種,兼顧了“自我賦值安全性”與“異常安全性”:

條款12、復制對象時勿忘其每一個成分

當自己實現拷貝構造/拷貝運算符時,編譯器不會警告你遺漏了某些成員變量。因此,必須仔細地復制所有派生類成員,并調用基類的拷貝操作來復制基類成員。

拷貝構造和拷貝運算符中很可能有相當多重復的操作,但因為兩個函數性質完全不同,因此不能用其中一個調用另一個來減少冗余。

可以把共同功能放在第三個函數中,并由兩個拷貝操作共同調用。

你好,我是飛宇,本碩均于某中流985 CS就讀,先后于百度搜索以及字節跳動電商等部門擔任Linux C/C++后端研發工程師。

同時,我也是知乎博主@韓飛宇,日常分享C/C++、計算機學習經驗、工作體會,歡迎點擊此處查看我以前的學習筆記&經驗&分享的資源。

有個朋友收集了一些C++開發手冊、LeetCode刷題模板等精品資料,可加他的微信免費領取。

標簽:

搶先讀

相關文章

熱文推薦

精彩放送

關于我們| 聯系我們| 投稿合作| 法律聲明| 廣告投放

版權所有© 2011-2023  產業研究網  m.shawuei.com

所載文章、數據僅供參考.本站不作任何非法律允許范圍內服務!

聯系我們:39 60 29 14 2 @qq.com

皖ICP備2022009963號-13


国产日韩欧美一区二区三区综合| 日韩中文字幕无砖| 三级欧美在线一区| 欧美久久久久久蜜桃| 成人激情视频在线观看| 又色又爽又黄18网站| 超碰一区二区| 国产综合色精品一区二区三区| 欧美电影精品一区二区| 欧美二级三级| 人与动物性xxxx| 国产在线播放精品| 亚洲国产精品激情在线观看| www亚洲欧美| av女优在线播放| 国产字幕在线观看| 欧美网站在线| 色88888久久久久久影院按摩| 91精品在线观看视频| 国产一级二级在线观看| 成人精品动漫| 99久久夜色精品国产网站| 色多多国产成人永久免费网站 | 欧美日韩视频| 一本色道亚洲精品aⅴ| 成人精品一区二区三区| 精品人妻无码一区二区三区 | 欧美国产在线看| 精品国产一区二区三区| 亚洲国产一区二区三区| 国产精品久久久久久久av大片| 色哟哟免费视频| 91天天综合| jizz一区二区| 久久中国妇女中文字幕| 黄色av免费在线播放| 欧美一区二区黄片| 国产乱色国产精品免费视频| 亚洲图片在区色| 国产一区二区三区乱码| 91精品中文字幕| 免费观看一级特黄欧美大片| 精品国产123| 中国一级黄色录像| 最近中文字幕在线视频| 三级久久三级久久久| 亚洲成av人影院在线观看| 中文字幕一区二区三区在线乱码| 欧美一区二区三区久久久| 99国产精品视频免费观看一公开| 欧美一区二区性放荡片| 一区二区不卡在线观看| 亚洲性猛交富婆| 日韩激情一二三区| 日韩精品极品视频免费观看| 亚洲 欧美 综合 另类 中字| 国产成年妇视频| 韩国欧美国产一区| 精品激情国产视频| 91制片厂毛片| 亚洲最大的免费视频网站| 中文字幕av一区二区三区免费看| 日韩av色在线| 欧美做受xxxxxⅹ性视频| 日韩啪啪网站| 色综合久久天天| 热re99久久精品国产99热| 天天操夜夜操视频| 久久精品一区二区国产| 亚洲美女中文字幕| 北条麻妃av高潮尖叫在线观看| 午夜精品久久久久久久久久蜜桃| 国产视频一区在线观看 | 阿v天堂2014| 日韩视频在线观看| 欧美欧美欧美欧美| 宅男在线精品国产免费观看| 国产精品人人爽| 国产成人亚洲精品青草天美| 欧美极品少妇xxxxⅹ喷水 | 美女福利视频网| 水蜜桃精品av一区二区| 欧美一区二区三区爱爱| 精品国偷自产一区二区三区| 二区三区在线视频| 久久一留热品黄| 欧美做受高潮1| 变态另类ts人妖一区二区| 天天综合国产| 精品国产第一区二区三区观看体验| 欧美极品少妇无套实战| 午夜视频福利在线| 欧美国产日韩亚洲一区| 亚洲综合在线中文字幕| 日韩美女黄色片| 奇米色一区二区三区四区| 久久视频中文字幕| 日本黄色动态图| 精品一区电影| 日韩亚洲欧美一区二区三区| 成熟了的熟妇毛茸茸| 欧美综合社区国产| 亚洲一二三区不卡| 日本欧美色综合网站免费| 91theporn国产在线观看| 不卡一区二区三区四区| 国产精品入口免费视| 久久精品视频9| 麻豆成人久久精品二区三区红 | 国产精品视频免费观看www| 69av视频在线| 日本美女一区二区三区| 欧美精品久久久久| 国产三级黄色片| 99精品99| 欧美裸体xxxx极品少妇| 在线免费观看麻豆| 91精品国产乱码久久久久久久| 日韩精品免费在线视频| 中文字幕第10页| 妖精视频一区二区三区| 日韩欧美专区在线| 黑人粗进入欧美aaaaa| 精品综合久久88少妇激情| 欧美日韩一级片网站| 99热在线这里只有精品| 午夜视频一区二区在线观看| 欧美亚洲高清一区| 国产免费观看高清视频| 亚洲精品在线国产| 欧美久久一二三四区| 日韩精品一区二区三区不卡 | www.avtt| 国产精品一区二区美女视频免费看| 色综合久久88色综合天天| 欧美中日韩在线| 亚洲精品成人一区| 91极品美女在线| 成人在线免费观看av| 国产精品15p| 欧美一级日韩一级| 九九九九九国产| 四虎成人av| 在线性视频日韩欧美| 欧美色图亚洲激情| 欧美亚洲一区| 欧美亚洲国产视频小说| 久久一级黄色片| 成人午夜精品在线| 成人av蜜桃| www五月婷婷| 玉足女爽爽91| 好色先生视频污| 精品一区二区三区四区五区| 制服丝袜亚洲播放| 污污视频网站在线| 中文字幕免费一区二区三区| 久久成人18免费网站| 婷婷激情四射网| 国产在线国偷精品免费看| 国产色视频一区| 在线观看免费视频a| 国产精品久久久久7777按摩| 正在播放一区二区三区| 国产精品中文| 日韩欧美另类在线| 久久久高清视频| 99热精品在线观看| 国产成人精品视频在线| 国产一级淫片a视频免费观看| 26uuu国产一区二区三区| 久久天天狠狠| 国产激情欧美| 91精品久久久久久久久99蜜臂| 一级黄色大片儿| 在线观看一区视频| 96精品视频在线| 无码日韩精品一区二区| 国产精品伦一区二区三级视频| 在线天堂一区av电影| 亚洲精品高潮| 国产午夜精品久久久| 国产伦理片在线观看| 精品亚洲成a人在线观看| 91国产在线免费观看| 熟妇人妻系列aⅴ无码专区友真希 熟妇人妻av无码一区二区三区 | 日日碰狠狠添天天爽| 国产综合色视频| 韩国成人av| 国产电影一区二区三区爱妃记| 精品视频一区三区九区| 91丨porny丨九色| 欧美一级网站| 亚洲www视频| 亚洲av成人无码网天堂| 欧美乱熟臀69xxxxxx| 国产精九九网站漫画| 香蕉久久久久久久av网站| 国产精品影片在线观看| 亚洲成人77777| 在线精品视频免费播放| 色哟哟免费视频| 日韩和欧美一区二区三区| 亚洲一区中文字幕| 激情都市亚洲| 日韩一区二区三区视频在线观看 | 偷拍视屏一区| 久久综合伊人77777尤物| 国产午夜在线播放| 亚洲精品第一国产综合野| 一女被多男玩喷潮视频| 亚洲成av人片乱码色午夜| 欧美在线观看网址综合| 国产精品视频在线观看免费| 色婷婷久久久久swag精品| 97免费公开视频| 久久一区视频| 久久www免费人成精品| 高清在线一区二区| 亚洲天堂一区二区三区| 久久精品欧美一区二区| 亚洲人成在线播放网站岛国| 久久久免费视频网站| 亚洲午夜一区| 亚洲自拍中文字幕| 成人在线免费电影网站| 精品一区二区电影| 欧美久久久久久久久久久久| 欧美国产精品一区二区| 欧美国产亚洲一区| 激情自拍一区| 亚洲free性xxxx护士白浆| 成人在线免费电影网站| 亚洲欧美一区二区三区在线| 久久精品国产亚洲AV无码麻豆| 成人欧美一区二区三区| 成人一区二区三| 久久精品亚洲一区二区| 好吊色欧美一区二区三区视频| 视频精品国内| 久久九九国产精品怡红院| 中国女人一级一次看片| 欧洲一区在线电影| 国产特黄级aaaaa片免| 97se亚洲国产综合自在线不卡| 成年人视频网站免费| 国产精品啊啊啊| 99re国产视频| 亚洲一区二区三区四区电影 | 国产精品爱啪在线线免费观看| 日本激情一区二区三区| 日韩成人在线播放| 精品美女久久久久| 色哟哟一区二区在线观看 | 欧美亚洲在线日韩| 国产精品av电影| 成人国产精品一区二区免费麻豆 | 欧美爱爱视频网站| 亚洲澳门在线| av一区和二区| 国产一区二区在线视频你懂的| 91精品国产高清| 国产精品一区二区av影院萌芽| 亚洲女人天堂视频| 中文字幕日本人妻久久久免费| 欧美日韩成人一区| 欧美爱爱小视频| 欧美日韩激情美女| 一本色道综合久久欧美日韩精品| xnxx国产精品| 污片在线免费看| 国产麻豆9l精品三级站| 日韩成人三级视频| 久久精品卡一| 一区二区视频在线播放| 国产精品99一区二区| 久久99精品久久久久久三级 | 黄色三级视频片| 麻豆国产一区二区| av中文字幕av| 亚洲二区视频| 欧美日产一区二区三区在线观看| 日本在线电影一区二区三区| 国产精品嫩草视频| 性感美女福利视频| 国产一区二区三区欧美| 在线视频精品免费| 日韩午夜在线影院| 日本亚洲色大成网站www久久| 亚洲成人在线免费| 色综合99久久久无码国产精品| 国产精品日韩成人| 亚洲第一区第二区第三区| 国产麻豆91精品| 欧美精品一区二区三区免费播放| 日本中文字幕一区| 中文视频一区视频二区视频三区| 中文高清一区| 日韩av一级大片| 欧美hd在线| 久久精品成人一区二区三区蜜臀| 国产一区二区电影在线观看| 欧美一级淫片videoshd| 国产精品传媒麻豆hd| 九九视频直播综合网| 波多野结衣亚洲| 在线精品播放av| 韩国av在线免费观看| 日韩精品亚洲视频| 精品国产一区二区三区四| 欧美一区二区三区免费观看视频| 日本一区二区不卡在线| 色婷婷激情一区二区三区| 手机av在线看| 欧美性猛交xxxx免费看漫画 | www.超碰在线观看| 91黄视频在线观看| 国产麻豆视频在线观看| 福利视频第一区| 欧美三级免费看| 欧洲人成人精品| 日本视频在线观看免费| 欧美一级片在线看| 在线免费看av的网站| 亚洲精品美女视频| 国产又粗又猛又黄又爽| 国产亚洲人成a一在线v站| www天堂在线| 日韩高清不卡av| 亚洲国产成人一区二区| 中文综合在线观看| 精品久久久久久亚洲综合网站 | av免费观看网| 成人黄色大片在线观看| 一区二区xxx| 成人午夜av电影| 免费国偷自产拍精品视频| 国产亚洲欧美一区在线观看| 尤物网站在线观看| 一区二区三区中文字幕在线观看| 亚洲精品成人无码| 亚洲一卡二卡三卡四卡五卡| 麻豆疯狂做受xxxx高潮视频| 欧美日韩国产乱码电影| 欧美三级一区二区三区| 日韩欧美国产电影| 国产精品国产av| 久久精品91久久香蕉加勒比| 91精品xxx在线观看| 欧美性一区二区三区| 精品国产乱子伦一区二区| 成人免费在线网址| 午夜精品影院| 男同互操gay射视频在线看| 国产麻豆精品在线观看| 精品亚洲视频在线| 国产精品无遮挡| 小早川怜子一区二区的演员表| 在线一区二区三区四区五区| 欧美激情一区二区三区免费观看 | 成人免费视频一区| 日本久久久久久久久久| 亚洲女与黑人做爰| 免费麻豆国产一区二区三区四区| 欧美一区二区网站| 国产精品一级视频| 久久视频在线免费观看| 成人亚洲精品| 亚洲永久在线观看| 亚洲国产一成人久久精品| 日韩视频在线观看视频| 粉嫩嫩av羞羞动漫久久久| 欧美熟妇精品一区二区| 亚洲乱码国产乱码精品精可以看 | 日本网站在线看| 亚洲第一综合色| 日韩欧美亚洲国产| 日韩国产高清污视频在线观看| 欧美日韩在线精品一区二区三区激情综合 | 成人性生交大片免费看96| 久久99久久99精品蜜柚传媒| 香蕉成人久久| 大陆极品少妇内射aaaaa| 国产精品免费av| 自拍偷拍第9页| 亚洲电影免费观看高清完整版在线| 亚洲免费成人在线| 性欧美xxxx| av一区二区在线播放| 综合久久国产| 91视频一区二区三区| 日韩在线免费观看av| 欧美成人一区二区三区在线观看| 亚洲乱码在线观看| 国产精品美女午夜av| 一本一道久久a久久精品蜜桃| 日韩视频在线视频| 国产精品毛片大码女人| 免费视频网站www| 在线电影中文日韩|