最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

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

Effective C++ 第三條 Use const whenever possible

2023-01-17 01:09 作者:九思519  | 我要投稿

在任何可能的情況下使用const

const修飾函數(shù)參數(shù)

當(dāng)我們在傳入?yún)?shù)時(引用傳遞、指針傳遞),我們需要考慮該函數(shù)是否對傳入的對象進(jìn)行修改,如果不修改,則使用const修飾。這么做帶來的好處是如果在函數(shù)中誤操作對對象進(jìn)行了修改,編譯器會報錯提示,可以降低出錯的概率。

比如以下這個例子

const修飾成員函數(shù)


那么函數(shù)1和函數(shù)2的區(qū)別如下

講完了const的修飾的好處,const修飾也有壞處,比如在寫類的成員函數(shù)的時候一個功能要寫兩遍,一遍 const 型,一遍 non-const 型。為了解決這個問題,我們采用轉(zhuǎn)換來解決這個問題

可能看到這里會有些懵逼,但是我們一層一層拆解,//當(dāng)我們通過non-const對象調(diào)用[]重載的時候,我們想復(fù)用const的代碼,則我們先要把本non-const對象轉(zhuǎn)換為const對象,這就是最里層 static_cast<const Exam&>,然后通過static_cast<const Exam&> 調(diào)用 [] 重載,得到的結(jié)果是 const char&,然后將const char& 通過 const_cast<char&> 轉(zhuǎn)換為 char&,得到我們想要的結(jié)果。

const的辨析

//first const void* p; //second void* const p;

我們把 p 比作我們的手,而 *p 比作我們手指向的東西。

第一種是const修飾 *p,也就是說 p是不能改變的,而 p是可以改變的,也就是說 p 指向的內(nèi)容不能變,但是 p 本身的指向可以變。我手指向哪里哪里就不能變,但是我的手可以動。

*第二種const修飾的是 p ,p 不能改變,但是 p 可以改變,我的手不能動,但是手指向的東西可以變。


Effective C++ 第三條 Use const whenever possible的評論 (共 條)

分享到微博請遵守國家法律
赤水市| 安多县| 博爱县| 柳河县| 桃源县| 抚州市| 永城市| 新竹县| 安龙县| 运城市| 巴东县| 葵青区| 黄大仙区| 清水县| 荔浦县| 庄河市| 阜城县| 来宾市| 宁海县| 吴川市| 巴林右旗| 德昌县| 丰都县| 柯坪县| 余姚市| 左权县| 舟山市| 大兴区| 高唐县| 淳安县| 梨树县| 五寨县| 铜川市| 大悟县| 丹棱县| 旌德县| 建宁县| 廉江市| 安阳市| 新津县| 吉林市|