c++ const
允許指定乙個語義約束,編譯器會強制實施這個約束,允許程式設計師告訴編譯器某值是保持不變的。如果在程式設計中確實有某個值保持不變,就應該大膽明確的使用const
,這樣可以獲得編譯器的幫助。
#include
using namespace std;
int main()
傳遞過來的引數在函式內不可以改變,與上面修飾變數時的性質一樣。
void testmodifyconst(const
int _x)
void testconstfunction(int _x) const
void modify_x(int _x)
int x;
};
如果返回const data,non-const pointer
,返回值也必須賦給const data,non-const pointer
。因為指標指向的資料是常量不能修改。
const
int * malloca()
int main()
如果函式返回值採用「·值傳遞方式·
」,由於函式會把返回值複製到外部臨時的儲存單元中,加const
修飾沒有任何價值。所以,對於值傳遞來說,加const
沒有太多意義。
所以:
不要把函式int getint(void)
寫成const int getint(void)
。
不要把函式a geta(void)
寫成const a geta(void)
,其中a 為使用者自定義的資料型別。
在程式設計中要盡可能的使用const,這樣可以獲得編譯器的幫助,以便寫出健壯性的**。
白日不到處,青春恰自來
苔花如公尺小,也學牡丹開
C const用法總結
const名叫常量限定符,用來限定特定變數,以通知編譯器該變數是不可修改的。使用const,可以避免在函式中對某些不應修改的變數造成可能的改動。非const 變數預設為extern,這樣就不可以被程式其它檔案訪問,要想const變數能夠被在其他的檔案中訪問,必須顯式地指定它為extern,如exte...
c const用法總結
看了好多博主寫的關於const的總結,總是仁者見仁,智者見智,好多博主都多多少少的有一些錯誤,在這總結一下c const的用法,我的文章中也可能會有錯誤,望指正!一.定義常量 1 const修飾變數 int const a 5 const int a 5 這兩種定義方法是一樣的,都是不希望a的值發生...
C const 用法詳解
int main 1 int const 和 const int 區分的方法 觀察const直接修飾的元素 就近原則 2 int const 和 const int const 兩者與 const int 用法一致,內部均表示為 const int,推薦直接使用 const int 3 int co...