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

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

Effective C++ 第十八條 Make interface easy to use correctly and hard

2023-01-19 15:35 作者:九思519  | 我要投稿

讓接口容易被使用正確,不易被誤用

當我們在為客戶設計接口的時候,需要考慮到客戶可能會犯的錯誤,盡量將接口設計成一旦客戶使用錯誤就報錯,沒報錯就是客戶使用正確。

以日期為例

這樣的設計沒有問題,但是客戶可能會 Date(30,3,1999),也就是 month 和 day 的順序反了,也有可能出現(xiàn) Date(2,30,2000) 這樣的錯誤(2月沒有30號)。該問題能夠出現(xiàn)是因為 day、month、year 都是 int 型,容易混淆,我們可以把 day、month、year 封裝為 struct ,這樣就不會出現(xiàn)順序混亂的錯誤

還可以通過用 “函數(shù)” 替換 “對象” 的方式來表示某個特定的月份

這里 Year 和 Day 并不需要如此設計,一是因為數(shù)量太多,枚舉太復雜,再者采用結(jié)構體封裝的方法已經(jīng)足夠了并不會犯其他錯誤。

保持接口的一致性

當我們設計多個類的時候,應當讓一些類的合理的操作保持一樣的接口,比如 STL 中的 vector 擁有 size(),其他容器如果擁有 size 是合理的那么也有一個 size 接口。不能對于 A 寫一個 size,對于 B 寫一個 length,這樣對于開發(fā)者來說記憶負擔加重,也毫無必要。

攜帶刪除器

我們使用指針的時候,使用 shared_ptr 會自帶一個刪除器,它的好處在于當我們在一段代碼中取得資源但是不需要釋放的時候,被其他代碼delete了,這樣會導致錯誤。有刪除器的話,會設置一個計數(shù)器,一個地方釋放資源并不會真正地將資源釋放,而是計數(shù)器減一,只有當真正計數(shù)器為0的時候資源才會被釋放。

Effective C++ 第十八條 Make interface easy to use correctly and hard的評論 (共 條)

分享到微博請遵守國家法律
营口市| 嘉荫县| 乳山市| 绥化市| 农安县| 闽侯县| 合作市| 渭源县| 沅江市| 栖霞市| 河曲县| 遵化市| 东山县| 阳朔县| 明星| 瑞金市| 河北区| 那曲县| 公主岭市| 巴东县| 手游| 邯郸县| 时尚| 华安县| 剑阁县| 泉州市| 左云县| 师宗县| 遂平县| 崇阳县| 仪陇县| 任丘市| 潍坊市| 道孚县| 乐清市| 大方县| 左云县| 孝义市| 河西区| 平昌县| 高陵县|