在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 答案...