常見的const應用

2021-10-07 15:46:10 字數 1275 閱讀 4503

const定義變數後,該變數就沒有了寫許可權,只有讀許可權

1.const用於定義變數時,要進行初始化

例如:const int a = 10; //合法

const int a; //非法

2.資料型別對於const而言是透明的

例如:const int a = 10; 等價於 int const a = 10;

const int* p1 = &a; 等價於 int const* p1 = &a;

但是這裡要注意

const int* p1 = &a; 不等價於 int* const p1 = &a;

const int* p1 = &a; 指const修飾的是*p1,即*p1不可以被修改,內容是唯讀的;但是p1可以修改,可以指向其它的位址空間。

int* const p1 = &a; 指const修飾的是p1,即p1不可以被修改,不能指向其它位址空間,但是*p1可以修改,內容可讀可寫。

如下**給出了二者之間的使用區別:

#include

intmain()

3.許可權只能同等傳遞或者縮小傳遞

簡單的一句話:非const可以呼叫const,const不可以呼叫非const

當const修飾函式返回值時,該返回值不能被改變

class

date

return

*this;}

void

print()

private

:int _year;

int _month;

int _day;

};

在上面的date類中,我們為了防止在 operator= 函式中物件 d 修改私有成員變數,則可以加上const限定符。

但是在 print 函式中如何給 this指標加上const限定符?

因為c++中函式形參 this指標是隱含的,不允許顯示的寫出來,所以規定 const 寫在成員函式的後面。

void

print()

const

const的常見用法

const用法主要是防止定義的物件再次被修改,定義物件變數時要初始化變數 下面我就介紹一下幾種常見的用法 1.用於定義常量變數,這樣這個變數在後面就不可以再被修改 const int val 10 val 20 錯誤,不可被修改 2.保護傳參時引數不被修改,如果使用引用傳遞引數或按位址傳遞引數給乙個...

const的常見用法

出處 const用法主要是防止定義的物件再次被修改,定義物件變數時要初始化變數 下面我就介紹一下幾種常見的用法 1.用於定義常量變數,這樣這個變數在後面就不可以再被修改 const int val 10 val 20 錯誤,不可被修改 2.保護傳參時引數不被修改,如果使用引用傳遞引數或按位址傳遞引數...

const的常見用法

const用法主要是防止定義的物件再次被修改,定義物件變數時要初始化變數 下面我就介紹一下幾種常見的用法 1.用於定義常量變數,這樣這個變數在後面就不可以再被修改 const int val 10 val 20 錯誤,不可被修改 2.保護傳參時引數不被修改,如果使用引用傳遞引數或按位址傳遞引數給乙個...