const定義的 本質:唯讀變數,即不可修改的變數。所以,它永遠不可能是常量。
用法及說明:(想要的都有,不分類,自己看)
const int i // i 是 const
int cost i // i 是 const
const int* i // *i 是const,i不是
int const *i //*i 是const,i不是
int * const i //i是const,*i不是
const int* const i //i和*i都是const
int const * const i //i和*i都是const
int const *p1,p2 //*p1是const,p2是const
int *const p1,p2 //p1是const,p2不是
int const * const p1,p2 //*p1是const ,p1是const,p2是const
void function(int const * i) //引數*i為const,此引數在函式內不可修改
void function(int * const i) //引數i為const,此引數在函式內不可修改
void function(const class & t)//引用引數t為const,此引數在函式內不可修改
const int function()//無意義,給函式返回乙個值的過程本身就是賦值
const int * function()//返回乙個可修改的指標位址,但指標指向的內容不可更改,呼叫函式時,執行const int*ptr=fuction(),跟const修飾變數乙個用法。
int *const function()//返回乙個不可修改的指標位址,但指標指向的內容可以修改,呼叫函式時,執行int*const ptr=function()。
class aaa
; //:後面這叫做初始化列表
void func1();
void func2() const; //【二、const修飾成員函式】它不改變類的成員變數,也不能呼叫非const成員函式。
const aaa aaa; //【三、const修飾類物件】定義了乙個靜態物件,只能呼叫const成員函式。
aaa.func1(); //不能呼叫非const成員函式,是錯的
aaa.func2(); //可以呼叫const成員函式
c 關鍵字const使用方法總結
const 大致意思是 我承諾不改變這個值 主要用於說明介面,這樣在把變數傳入函式時就不必擔心變數會在函式內被改變。編譯器負責確認並執行const的承諾。或者可以說在當前作用域內值不發生改變。const的語法雖然變化多端,但並不高深莫測,如果乙個被指物是常量,const可以寫在型別之前,也可以寫在型...
C中const關鍵字
const 用法 定義常量,修飾指標 函式的輸入引數和返回值,把定義或者修飾的變數屬性設為唯讀。本質上它只是在全域性資料段或者棧中定義的是乙個唯讀的常量,不是真正位於字串常量區。所以關鍵字const 並不能把變數變成真正的常量,事實上還是可以改變 const 定義的變數的值。const 的目的是為了...
C 中const關鍵字
一 const修飾指標變數 int num 0 1.const在 前面,表示const修飾指標指向的內容 const int p intconst p 2.const在 後面,表示const修飾指標變數 int const p 二 const修飾成員函式首先來看一下普通成員函式 class a fu...