看了"c++中const用法總結 ", 談點新思路. 關於理解下面語句中的const:
a. const char *pcontent;
b. char * const pcontent;
c. char const *pcontent;
d. const char* const pcontent;
標準的助記方法是:
沿著*號劃一條線,
如果const位於*的左側,則const就是用來修飾指標所指向的變數,即指標指向為常量;
如果const位於*的右側,const就是修飾指標本身,即指標本身是常量。
當然,這也是c++之父的著作《我的想法是:const用來修飾的是其右側第乙個變數或型別的常量屬性.
對於a, const修飾的是char, char是型別, 所對應的變數是 *pcontent; 所以a中const表示指向的內容不變
對於b, const修飾的是pcontent, 即表示char*型的指標pcontent不變.
對於c, const修飾的是*pcontent,即同a.
對於d, 第乙個const修飾的是char, 同a, 第二個const修飾的是pcontent,同b.
C 類 const修飾普通成員函式
const修飾變數一般有兩種方式 const t a,或者t const a,這兩者都是一樣的,主要看const位於 的左邊還是右邊,這裡不再贅述,主要來看一下當const修飾類的成員函式時,成員函式有什麼特點。類的成員函式後面加 const 表面這個函式不會對這個類物件的資料成員 準確的說是非靜態...
static修飾的變數和函式與普通變數函式的區別
全域性變數 外部變數 的說明之前再冠以static 就構成了靜態的全域性變數。全域性變數本身就是靜態儲存方式,靜態全域性變數當然也是靜態儲存方式。這兩者在儲存方式上並無不同。這兩者的區別雖在於非靜態全域性變數的作用域是整個源程式,當乙個源程式由多個原始檔組成時,非靜態的全域性變數在各個原始檔中都是有...
CONST修飾符的理解
目前在進行c語言補習時,發現很多的同學對於const這個關鍵字的理解存在很大的誤解。現在總結下對這個關鍵字理解上的誤區,希望在以後的程式設計中,能夠靈活使用const這個關鍵字。1 const修飾的變數是常量還是變數 對於這個問題,很多同學認為const修飾的變數是不能改變,結果就誤認為該變數變成了...