五月天青色头像情侣网名,国产亚洲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的評論 (共 條)

分享到微博請遵守國家法律
福清市| 建水县| 道真| 循化| 新野县| 安泽县| 桑植县| 吉林省| 平乡县| 彭阳县| 全南县| 莆田市| 获嘉县| 屏东市| 淄博市| 阿城市| 紫云| 滨州市| 石泉县| 福安市| 柳河县| 册亨县| 宝鸡市| 迭部县| 鄯善县| 元阳县| 青州市| 陵川县| 长治市| 离岛区| 邻水| 南川市| 个旧市| 嘉荫县| 衡山县| 平利县| 安宁市| 大渡口区| 桃源县| 上犹县| 奉贤区|