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

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

分享到微博請遵守國家法律
伊通| 安吉县| 彭州市| 保定市| 岳阳县| 神木县| 财经| 邯郸市| 西丰县| 斗六市| 和林格尔县| 涡阳县| 陵水| 石嘴山市| 金秀| 大名县| 赫章县| 开化县| 永寿县| 南城县| 伊宁市| 永仁县| 长春市| 富民县| 铜山县| 鹤庆县| 富宁县| 土默特左旗| 昌乐县| 梁平县| 土默特右旗| 盐津县| 江达县| 吴旗县| 成都市| 新闻| 河南省| 资源县| 微山县| 海淀区| 合山市|