最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

【讀書筆記】EffectiveC++ 2.構(gòu)造/析構(gòu)/賦值運(yùn)算

2023-08-20 11:15 作者:艾絲_芙涅珂絲  | 我要投稿

規(guī)則5?了解c++默默編寫并調(diào)用哪些函數(shù)

在什么都不聲明的情況下。編譯器可以為class自動(dòng)創(chuàng)建default構(gòu)造函數(shù),而一旦你自己編寫了構(gòu)造函數(shù),它將不會(huì)生成。如果你希望你的class作為基類存在或需要被某些容器裝載,你需要手動(dòng)增加一行 =default的構(gòu)造函數(shù)。

如果不聲明,編譯器會(huì)自動(dòng)提供copy構(gòu)造函數(shù)和copy assignment操作符,但只能完成相對(duì)簡(jiǎn)單的賦值操作。

規(guī)則6 若不想使用編譯器自動(dòng)生成的函數(shù),就該明確拒絕

接上文,編譯器默認(rèn)自動(dòng)提供copy構(gòu)造函數(shù)和copy assignment操作符,并將其聲明為public。如果你不希望這樣做,你可以手動(dòng)提供一份private的copy構(gòu)造函數(shù)和copy assignment操作符,這已經(jīng)可以避免絕大多數(shù)情況下對(duì)于構(gòu)造的錯(cuò)誤調(diào)用。但如果你希望成員函數(shù)和友員函數(shù)、也不這么做,就需要?jiǎng)?chuàng)建一個(gè)專門的基類來做上面的行為,然后讓你的類繼承它。

規(guī)則7?為多態(tài)基類聲明virtual析構(gòu)函數(shù)

假如多態(tài)基類沒有virtual析構(gòu)函數(shù),那么當(dāng)你使用基類指針指向派生對(duì)象,并試圖使用這個(gè)指針刪除該對(duì)象時(shí),派生類的析構(gòu)函數(shù)將不會(huì)被調(diào)用。

規(guī)則8?別讓異常逃離析構(gòu)函數(shù)

析構(gòu)函數(shù)中拋出異常會(huì)導(dǎo)致剩下的資源的沒有被正確釋放

規(guī)則9?絕不在構(gòu)造和析構(gòu)過程中調(diào)用virtual函數(shù)

因?yàn)榇藭r(shí)調(diào)用的是基類的該virtual函數(shù),而非你想要使用的派生類中的函數(shù)。

規(guī)則10?令operator=返回一個(gè)reference to *this?

使用return *this 這是一個(gè)協(xié)議

規(guī)則11 在operator=中處理自我賦值

可以使用證同測(cè)試(this==&input)?

總之需要保證可能需要同時(shí)操作兩個(gè)相同對(duì)象的函數(shù)不出現(xiàn)問題

規(guī)則12?復(fù)制對(duì)象時(shí)勿忘其每一個(gè)成分

如果自己重新書寫copy構(gòu)造函數(shù),那么記得確認(rèn)是否真的復(fù)制了對(duì)象中的每個(gè)成員,因?yàn)榫幾g器不會(huì)對(duì)其做任何檢測(cè)。


【讀書筆記】EffectiveC++ 2.構(gòu)造/析構(gòu)/賦值運(yùn)算的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
亳州市| 浦县| 漯河市| 辽宁省| 汾阳市| 满洲里市| 太和县| 南召县| 双流县| 阿鲁科尔沁旗| 专栏| 都安| 怀远县| 浮梁县| 图们市| 沈丘县| 合水县| 庆城县| 盱眙县| 和顺县| 县级市| 新沂市| 武宣县| 庆云县| 台前县| 汾西县| 昌平区| 广德县| 本溪| 合作市| 荣昌县| 红河县| 湖州市| 昭苏县| 贞丰县| 宝清县| 阳谷县| 耒阳市| 许昌县| 都安| 邵阳市|