C C 中的const修飾符用法總結

2021-09-29 17:09:28 字數 1511 閱讀 9445

const的基本含義

所以,const修飾符的作用主要是利用編譯器幫助我們檢查自己**的正確性。我們使用const在原始碼中標示出「不應該改變」的地方,然後利用編譯器,幫助我們檢查這些地方是否真的沒有被改變過。如果我們不小心去修改了這些地方,編譯器就會報錯,從而幫助我們糾正錯誤。使用const和不使用const,對於最終編譯產生的**並沒有影響。

雖然const對於最終**沒有影響,但是盡可能使用const,將幫助我們避免很多錯誤,提高程式正確率。

在c/c++中,常見const修飾符用法

const 變數

const int a = 10; //a的值不能改變
const類物件

const myclass a;
指向const變數的指標

const int* a;
const 指標

int* const p = null;
比如,int * const p 可以這樣進行解讀:

1、int * ( const p ):變數p 經過 const 修飾,為唯讀變數。

2、int (* (const p)):(const p 現在作為乙個整體) 唯讀變數p是乙個指標。

3、(int (* (const p))):(同樣的 * const p 作為乙個整體) 這個唯讀的指標p,指向乙個int型變數。

於是,可以區分出 int * const p 是乙個指向 int 型的const指標。

再比如,const int * p 可以這樣解讀:

1、const int (* p):變數p是乙個指標。

2、(const int) (* p):(const與就近的 int 結合)這個指標指向 const int 型變數。

所以,const int * p 是乙個指向 const 整形變數的指標。

指向const變數的const指標

const int* const p;
const 變數作為函式引數

void func(const int a);
const返回值

const string& func(void);
const成員變數

class solu 

};const int solu:: b = 1; //靜態const成員初始化

const成員函式

class solu 

void func() const;

};

C C 中const修飾符總結

c c 中的const是乙個修飾符,它允許你指定乙個語義上的約束,也就是可以通過const指定乙個 不該被改動 的物件,而編譯器會強制實施這項約束。const語法很多 但都不複雜 下面我將分別講述各種語法及其作用。在講述const修飾符用在指標上有什麼效果之前先來看下指標不加const修飾符的情況 ...

const 修飾符在C C 中的作用

有稍修改 1.1.1.定義普通常量 const double pi 3.1414926 const int pool size 20 定義常量有三種方法 巨集 const enum 其中巨集應該盡量避免,而 const 與enum 也各有優缺點,最大的區別就是 enum 只能用於定義包括0的正整數,...

C 中const修飾符

const只對它左邊的東西起作用 唯一的例外就是const本身就是最左邊的修飾符,那麼它才會對右邊的東西起作用。指標常量 關鍵字順序為 const 和中文順序一致 例如 int const a,表示指標a是乙個常量,初始化後不可更改 永遠指向某個物件 但是指向的物件的值可以修改,如 a 10 常量指...