五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(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ó)家法律
宁远县| 广丰县| 锡林浩特市| 六盘水市| 荆州市| 桃源县| 那坡县| 安龙县| 梁平县| 西青区| 镇巴县| 宁明县| 桃江县| 南陵县| 开封市| 兴化市| 诏安县| 日照市| 怀宁县| 利辛县| 建宁县| 周口市| 南陵县| 新安县| 交口县| 仁寿县| 萝北县| 法库县| 安岳县| 扎鲁特旗| 尼玛县| 洮南市| 安多县| 临夏县| 黄山市| 松阳县| 务川| 沭阳县| 平泉县| 井冈山市| 鄂伦春自治旗|