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

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

C++基礎(chǔ)語法梳理:const,static以及 this 指針

2021-09-03 18:49 作者:C語言編程__Plus  | 我要投稿



const

作用

修飾變量,說明該變量不可以被改變;

修飾指針,分為指向常量的指針(pointer to const)和自身是常量的指針(常量指針,const pointer);

修飾引用,指向常量的引用(reference to const),用于形參類型,即避免了拷貝,又避免了函數(shù)對值的修改;

修飾成員函數(shù),說明該成員函數(shù)內(nèi)不能修改成員變量。

const 的指針與引用

指針

指向常量的指針(pointer to const)

自身是常量的指針(常量指針,const pointer)

引用

指向常量的引用(reference to const)

沒有 const reference,因為引用只是對象的別名,引用不是對象,不能用 const 修飾

(為了方便記憶可以想成)被 const 修飾(在 const 后面)的值不可改變,如下文使用例子中的?p2、p3

const 使用


static

作用

修飾普通變量,修改變量的存儲區(qū)域和生命周期,使變量存儲在靜態(tài)區(qū),在 main 函數(shù)運(yùn)行前就分配了空間,如果有初始值就用初始值初始化它,如果沒有初始值系統(tǒng)用默認(rèn)值初始化它。

修飾普通函數(shù),表明函數(shù)的作用范圍,僅在定義該函數(shù)的文件內(nèi)才能使用。在多人開發(fā)項目時,為了防止與他人命名空間里的函數(shù)重名,可以將函數(shù)定位為 static。

修飾成員變量,修飾成員變量使所有的對象只保存一個該變量,而且不需要生成對象就可以訪問該成員。

修飾成員函數(shù),修飾成員函數(shù)使得不需要生成對象就可以訪問該函數(shù),但是在 static 函數(shù)內(nèi)不能訪問非靜態(tài)成員。


this 指針

this?指針是一個隱含于每一個非靜態(tài)成員函數(shù)中的特殊指針。它指向調(diào)用該成員函數(shù)的那個對象。

當(dāng)對一個對象調(diào)用成員函數(shù)時,編譯程序先將對象的地址賦給?this?指針,然后調(diào)用成員函數(shù),每次成員函數(shù)存取數(shù)據(jù)成員時,都隱式使用?this?指針。

當(dāng)一個成員函數(shù)被調(diào)用時,自動向它傳遞一個隱含的參數(shù),該參數(shù)是一個指向這個成員函數(shù)所在的對象的指針。

this?指針被隱含地聲明為:?ClassName *const this,這意味著不能給?this?指針賦值;在?ClassName?類的?const?成員函數(shù)中,this?指針的類型為:const ClassName* const,這說明不能對?this?指針?biāo)赶虻倪@種對象是不可修改的(即不能對這種對象的數(shù)據(jù)成員進(jìn)行賦值操作);

this?并不是一個常規(guī)變量,而是個右值,所以不能取得?this?的地址(不能?&this)。

在以下場景中,經(jīng)常需要顯式引用?this?指針:

為實現(xiàn)對象的鏈?zhǔn)揭茫?/p>

為避免對同一對象進(jìn)行賦值操作;

在實現(xiàn)一些數(shù)據(jù)結(jié)構(gòu)時,如?list。

寫在最后:對于準(zhǔn)備學(xué)習(xí)C/C++編程的小伙伴,如果你想更好的提升你的編程核心能力(內(nèi)功)不妨從現(xiàn)在開始!

微信公眾號:C語言編程學(xué)習(xí)基地

整理分享(多年學(xué)習(xí)的源碼、項目實戰(zhàn)視頻、項目筆記,基礎(chǔ)入門教程)

歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長比自己琢磨更快哦!



C++基礎(chǔ)語法梳理:const,static以及 this 指針的評論 (共 條)

分享到微博請遵守國家法律
崇仁县| 昌邑市| 石河子市| 五常市| 北流市| 巩义市| 尼玛县| 太原市| 吴桥县| 图片| 张北县| 永善县| 张家港市| 攀枝花市| 连城县| 桃源县| 乌审旗| 巴彦淖尔市| 澄迈县| 乌拉特中旗| 定州市| 娄底市| 临海市| 噶尔县| 巢湖市| 漳浦县| 安龙县| 台北县| 乌拉特前旗| 常宁市| 平昌县| 保山市| 东莞市| 庆云县| 凌源市| 株洲县| 新乡县| 陆丰市| 正镶白旗| 锦州市| 祁阳县|