類的成員函式中,有一些是不改變類的成員變數的,也就是說,這些函式是"唯讀"函式。如果把不改變資料成員的函式都加上const關鍵字進行標識,顯然,可提高程式的可讀性。其實,它還能提高程式的可靠性,已定義成const的成員函式,一旦企圖修改資料成員的值,則編譯器按錯誤處理。
實際上,const成員函式還有另外一項作用,即常量物件相關。對於內建的資料型別,我們可以定義它們的常量,使用者自定義的類也一樣,可以定義它們的常量物件。
非靜態成員函式後面加const(加到非成員函式或靜態成員後面會產生編譯錯誤)
表示成員函式隱含傳入的this指標為const指標,決定了在該成員函式中, 任意修改它所在的類的成員的操作都是不允許的(因為隱含了對this指標的const引用);
唯一的例外是對於mutable修飾的成員。 加了const的成員函式可以被非const物件和const物件呼叫 但不加const的成員函式只能被非const物件呼叫
char getdata() const
// test1107.cpp : 定義控制台應用程式的入口點。
//#include
"stdafx.h"
#include
using namespace std;
class aa
;void
out1()
void
out2()
const
void
out3()
const};
int_tmain
(int argc, _tchar* ar**)
函式宣告後面的const用法
c\c++中函式後面加const
函式宣告後面的const用法
void function const 通常我們會看到一些函式宣告後面會跟著乙個const,這個const是做什麼的呢?看一下下面的例子,就知道了。直接在編譯前,就會提示下面的兩個錯誤 test1107.cpp 定義控制台應用程式的入口點。include stdafx.h include using...
函式宣告後面的const用法
void function const 通常我們會看到一些函式宣告後面會跟著乙個const,這個const是做什麼的呢?看一下下面的例子,就知道了。直接在編譯前,就會提示下面的兩個錯誤 test1107.cpp 定義控制台應用程式的入口點。include stdafx.h include using...
函式宣告後面的const用法
出處 通常我們會看到一些函式宣告後面會跟著乙個const,這個const是做什麼的呢?看一下下面的例子,就知道了。直接在編譯前,就會提示下面的兩個錯誤 test1107.cpp 定義控制台應用程式的入口點。include stdafx.h include using namespace std cl...