C 筆記 const關鍵字

2021-10-25 05:52:35 字數 1021 閱讀 5079

在c++中用來修飾內建型別變數(int,float,char 巴拉巴拉之類),自定義物件,成員函式, 返回值,函式引數。

一.修飾普通變數

const int  a = 7; 

int b = a; // 正確

a = 8; // 錯誤,不能改變

當乙個變數被定義為const 型別常量,便不可再次對其賦值。直接賦值,編譯器會報錯。通過指標型別變數賦值會導致其他意料之外的情況,如下面這段**。

#includeusing namespace std;

int main(void)

test(int _m):_cm(_m){}

int get_cm()const

private:

int _cm;};

void cmf(const test& _tt)

四. const 修飾返回值

修飾內建型別的返回值,修飾與否,沒有區別。不同於後面將提到的,此時返回的值可以被修改。

#include using namespace std;

const int cmf()

int cpf()

int main()

修飾定義型別作為返回值,此時的返回值不能作為左值使用,即不能再被賦值。(未驗證)

五. 修飾類成員函式

const 修飾類成員函式,目的是防止呼叫這個成員函式的物件被修改。

const 修飾成員函式時,是修飾成員函式this 指標所指向的物件。

另外 const 物件可以呼叫const 修飾的成員函式,但不能呼叫非const修飾的成員函式。而反過,來非const 可以呼叫const修飾的成員函式和非const 修飾的成員函式。

示例

int get_cm()const{}
[1]

[2]

c 筆記 const關鍵字

2.const在函式中的應用 使用const修飾指標,有兩種用法,達到兩種作用 例程1 int num 10 const int p 此例子中,不代表num是乙個常量,而是不能通過指標p來修改num的值 例程2 const int num 10 const int p int p 錯誤此例中,需要注...

c 筆記 const關鍵字的使用

1.關於const指標 如果關鍵字const出現在星號左邊,表示被指物為常量 如果出現在星號右邊,表示指標自身是常量 如果出現在星號兩邊,表示被指物和指標兩都都是常量。注意被指物是常量時,以下兩種寫法意義相同 const int p int const p 2.const成員函式 const成員函式...

C語言關鍵字 Const

c中const的使用 雖然這聽起來很簡單,但實際上,const的使用也是c語言中乙個比較微妙的地方,微妙在何處呢?請看下面幾個問題。問題 const變數 常量 為什麼下面的例子在使用乙個const變數來初始化陣列,ansi c的編譯器會報告乙個錯誤呢?const int n 5 int a n 答案...