const 修飾乙個量,那個量會被放到乙個常量表裡,無論如何,值都不會被改變了
const 修飾指標:
int a = 3;
int *p = &a;
const int *p //指標所指向的記憶體空間無法被改變,即a的值無法被改變
int * const p //指標的值無法被改變,即指標只能指向某乙個特定的記憶體空間,這裡只能是 p = &a
const int * const p//兩者都無法被改變
下面是const放在函式名後面的一種情況
這裡報錯了,說明const修飾的是 this->a 和 this->b (this指標所指向的記憶體空間)
那麼,又有乙個新的問題來了,const僅僅是限定了this所指向的記憶體空間嗎,那麼,this的值呢,能不能被修改?
下面來做這個實驗
那麼,事實是這樣的,在設計c++編譯器時,這個this指標的值已經被限定了,它已經是個常量了
C const修飾的是誰?
實驗 如下 class test void var int a,int b const const修飾的this指標。var const test this,int a,int b private int a int b int main 說明 上面的 this a 100 this b 188 是...
const修飾的變數
const定義的常量不能直接被修改,只能間接被修改,如,通過指標。int main const int a 20 int p 10 指標變數指向的是a的位址,通過給指標變數p賦值來改變a中的值 printf d n a return 0 結果 10 在c語言中,當const修飾的識別符號,這個識別符...
const修飾的變數
1.const char p1 2.char const p2 以上兩種情況,到底哪種是指標不能變,哪種是變數不能變呢?下面做乙個記錄,防止以後出錯 記住一句口訣 左定值,右定向 如果const在 左邊,那麼定義的變數值不能改變,但指標是可以改變的 如果const在 右邊,方向即指標不能變,也就是這...