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

分享到微博請遵守國家法律
信宜市| 名山县| 岑溪市| 临城县| 盐亭县| 美姑县| 凤山县| 民权县| 遂昌县| 高淳县| 志丹县| 西安市| 雅江县| 汕尾市| 洞头县| 利辛县| 阳谷县| 松原市| 巴马| 普格县| 东丽区| 岗巴县| 凭祥市| 东阳市| 景德镇市| 荥阳市| 新河县| 茂名市| 达孜县| 宜春市| 肥西县| 东丰县| 蒲江县| 启东市| 兴化市| 紫云| 万年县| 凉城县| 南丹县| 德庆县| 大关县|