①.const限定符修飾的常量無法修改,且在定義的時候必須同時初始化,否則error(xcode平台),相比define,const指定的常量有型別,而define只是簡單的字元替換。
②const修飾的常量只能由const指標來指向,不能用乙個普通的指標指向乙個const修飾的常量
const int a=10;
int *p=&a;//[error]
③const int *pt=&age;==>pt指向的內容不能修改(age的值),但是pt可以指向別的變數,比如pt=&month。(a pointer to const int)
int * const pt=&age;==>指標的值pt現在無法修改,現在只能指向age,不能指向month,但是指標指向的值可以修改,比如*pt=10;
④在乙個函式的形參中宣告引數為const,可以保證從實參傳進來的引數在此函式中不被修改。
⑤對於類的成員函式,有時候必須指定其為const型別,表明其是乙個常函式,不能修改類的成員變數(推薦這麼做,如size())
⑥const修飾類的成員變數,只能在初始化列表中賦值
⑦const物件只能呼叫const成員函式,非const物件既可以呼叫const成員函式,也可以呼叫非const成員函式
ps:盡可能的使用const
C const限定符(一)
有時候我們希望定義這樣一種變數,它的值不能被改變,比如需要設定乙個快取區大小 const int buffsize 512 這樣就通過使用const限定符將這個大小設定為了常量,之後,任何為buffsize賦值的操作都將引發錯誤 buffsize 1024 報錯,試圖向const物件寫值const物...
關於const 限定符
很多引用自c primer一書 比如有時候需要將乙個文字中的資料複製到另外乙個文字。我們需要使用緩衝區,緩衝區的大寫我們可以自己來決定比如1024個位元組,這是乙個常量,我們使用bufsize 1024.但是bufersize物件本身是乙個變數。所以我們可以引入const限定符,它將乙個物件轉化為常...
C const 限定符 指標的使用方法
c 中的常量符號const限定符相信大家都比較熟悉它對於基本型別變數的使用方法了 無非有最常用的那種 const type name value 在宣告的時候進行初始化。這個放下不表,看下面 const int a int const a int const a 這三種const限定符指標有什麼區別...