關於c++中const的基本用法
阿新 • • 發佈:2018-12-11
c++中的const 有點類似於c裡的巨集定義#define,但是似乎是在巨集定義基礎上的程式碼優化,具體我解釋不清,下面主要提到的是
const 在c++中的3中基本用法:
1.指向常量的指標
例如:const char* pc=“sada";
含義:宣告一個名為pc的指標變數,它指向一個字元型常量,初始化pc為指向字串"sada";
由於指標指向的是一個字元型常量,const不允許改變指標指向的字元型常量,故
例如
p[2]='s';是錯誤的,但是卻可以改變pc所指的地址
pc=“asdas”;
正確;
2.對於和指向常量的指標截然不同的是常指標,
常指標具體在例子中體現,
例如:char* const pc="asd";
這種定義方式是錯誤的;
經過實際操作可知,必須定義變數,如果是常量將無法進行修改。
會報warning
因為此時的pc是常量,
應採用此種定義方式
char a[]="sadd";
char* const pc=a;
含義
把指標變數所指的地址,而不是它指向的物件宣告為常量。
可以改變地址中的資料,但是不能改變指標指向的地址
即pc[2]='x';正確
pc=”sdaasdas";錯誤;
3.是前兩者的結合版
指向常量的常指標;
const char* const pc="ada"
這種用法是地址中的資料及地址都不能修改;