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

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

Effective C++ 第十五條 Provide access to raw resource in resource-ma

2023-01-16 15:46 作者:九思519  | 我要投稿

在資源管理類中提供對原始資源的訪問

????????在前面說過,我們要用資源管理類來實現(xiàn)資源管理,主要是為了在程序結(jié)束的時候能夠釋放資源不會導(dǎo)致內(nèi)存泄漏。這意味著即使我們使用類封裝了原始資源,但還是需要在類中設(shè)計 API 給用戶調(diào)取原始資源,雖然用戶不一定要使用,但開發(fā)者應(yīng)當(dāng)提供。

像這樣就把資源 rhs 使用類 ptr 保護起來了,但是這還不夠,因為在很多時候,用戶需要調(diào)取資源 rhs,所以我們需要設(shè)計 API 給用戶使用??紤]到用戶需求,通常有以下幾個問題:

1.用戶使用的函數(shù)需要的參數(shù)以及返回值都是 T ,而封裝在 ptr 中的資源類型變成了 ptr,原來的函數(shù)用不了了,所以要設(shè)計類型轉(zhuǎn)換接口給用戶,讓用戶通過 ptr 類型獲得 T 類型的資源。 當(dāng)前有如下情況

現(xiàn)在該如何通過 callInt 來使用 ptr 封裝的 int* 作為參數(shù)呢?

顯式轉(zhuǎn)換

隱式轉(zhuǎn)換

隱式轉(zhuǎn)換看起來方便很多,但是也有其他問題,比如在客戶需要 ptr 類型的時候,拷貝 ptr 結(jié)果得出來的是 T 。這里可能注意,類的類型 和 operator T* () 的類型可以不一樣,比如類的類型是T,你可以在運算符重載那聲明為 operator double* () const,這樣不論創(chuàng)建 ptr 對象的時候給的是什么類型,都可以返回 double 型指針。

2.運算符重載 operator* 和 operator→

此時可以直接通過調(diào)用 ptr 來調(diào)用內(nèi)部原始資源。


Effective C++ 第十五條 Provide access to raw resource in resource-ma的評論 (共 條)

分享到微博請遵守國家法律
高州市| 鸡西市| 惠安县| 永安市| 巴楚县| 贵阳市| 利辛县| 惠东县| 呼图壁县| 南涧| 武平县| 六盘水市| 邯郸市| 西昌市| 慈利县| 松溪县| 黄龙县| 靖安县| 松原市| 丹棱县| 沈丘县| 和田市| 霍林郭勒市| 金川县| 仙桃市| 株洲市| 阳城县| 宜良县| 巨野县| 蓝山县| 渭南市| 宣恩县| 库伦旗| 固始县| 建湖县| 南昌市| 抚宁县| 太谷县| 祁阳县| 东乡| 青田县|