const關鍵字是“constant”的縮寫,意爲永恆不變的,以下列舉const的作用:
1.const變量
const int a =1;
int const a =1;
爲防止定義的變量被修改,可用const修飾變量,const放在前面或後面均可,效果等同。const變量即爲常量,const變量定義的時候必須初始化。const變量與符號常量的區別(1)符號常量由預編譯器處理,const變量由變量處理(2)在編譯是符號常量已經不存在了,而const變量依然存在(3)符號常量的作用域從定義位置開始,到源文件結束,而const變量與一般變量一樣。
指針常量:const int * a=&b;// 指針可變,指針所指內容不可變
指向常量的常指針 const int const *a=&b; //指針不可變,指針所指內容不可變
2.const指針
int * const a =&b;
const (int *) a=&b;
爲防止定義的指針被修改,可用const修飾指針。
a=&c; //錯誤,a爲常指針,不可修改
*a=c; //正確,指針不可變,指針所指內容可變
3.const參數
爲防止參數被改變,可用const 修飾參數,作爲輸入參數,輸出參數嚴禁用const修飾。指針或引用做函數參數時,函數內部對其進行修改時可影響輸入值,若不想輸入值被改變,可用const修飾。
4.const成員函數
int get()const;
凡不修改類內數據成員的函數均可定義爲const成員函數,聲明處const放在函數名後,“;”前,定義處const放在函數名與函數體之間。此處const修飾的是this指針指向的對象,相當於限定對象爲常對象。
5.const對象
爲防止對象內部數據成員被改變,可用const修飾,const對象只能調用const函數,非const函數可能會改變數據成員,構造函數和析構函數除外,構造函數和析構函數均不定義爲const類型,但是const對象要引用,可引用靜態函數。
const變量、const指針、const參數、const對象、const成員函數
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
NetBeans運行error: bin/nativeexecution/Linux-x86_64/pty
Juffi
2018-08-27 19:54:17
my leetcode#1 #2 #3 #4 #6 #7 #8
Juffi
2018-08-27 19:54:16
my leetcode#13 #14
Juffi
2018-08-27 19:54:15
移植unbuntu Qt項目到 windows 下(包含socket)
Juffi
2018-08-27 19:54:15
學習C++通過使用MinGW+Eclipse(windows下)
暴烈骑士
2018-08-27 19:49:19
虛函數表
fengjingchao8
2018-08-27 19:48:48
C++中int main(int argc, char *argv[])解釋
YuFF
2018-08-27 19:45:47
C++中函數的參數傳遞
YuFF
2018-08-27 19:45:43
直接插入排序、shell 排序、快速排序C++實現
FANG___
2018-08-27 19:42:41
二叉樹的前中後序的遞歸、非遞歸遍歷
FANG___
2018-08-27 19:42:38
(C++) 踩了幾個坑
FANG___
2018-08-27 19:42:38
個人覺得C++BuilderX是個失敗的作品
elever
2018-08-27 19:41:36
CloseHandle(),TerminateThread(),ExitThread()的區別
侠隐仙踪
2018-08-27 19:34:57
拷貝某個文件夾下的所有文件到指定文件夾
侠隐仙踪
2018-08-27 19:34:57