国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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的評論 (共 條)

分享到微博請遵守國家法律
射洪县| 收藏| 施秉县| 敦煌市| 航空| 海晏县| 峨山| 寿宁县| 自贡市| 蕉岭县| 明溪县| 绥化市| 望都县| 来凤县| 荥阳市| 潮安县| 百色市| 孝昌县| 宁波市| 文安县| 陵水| 连云港市| 舒城县| 曲麻莱县| 慈溪市| 永泰县| 香河县| 安西县| 砚山县| 富川| 西安市| 武胜县| 定西市| 石河子市| 南宫市| 日喀则市| 乐平市| 双流县| 固阳县| 临汾市| 长宁县|