1. 程式人生 > >關於c++中const的基本用法

關於c++中const的基本用法

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"

這種用法是地址中的資料及地址都不能修改;