const 是c++中常用的型別修飾符,常型別是指使用型別修飾符const說明的型別,常型別的變數或物件的值是不能被更新的。
1.定義常量·
const
int a =0;
//const 定義後,a的值不可再改變,類似於巨集定義
intconst a =0;
//兩種形式意義一樣。
const 與 define 的共同性:
都可以很方便的進行引數的調整和修改。
const與define的區別
const
define
資料型別與數值,定義後均不允許改變
只有數值,編譯器僅僅是做字元替換,不進行型別檢測,替換時可能出現錯誤
2.便於型別檢測
voidf(
const
int i)
//對傳入的引數進行匹配,型別不一樣,編譯器會報錯
3.保護被修飾的變數voidf(
const
int i =0)
//編譯器報錯。
當const修飾變數後,可以對變數進行保護,避免意外的修改,增強程式的穩健性。
4.區別函式過載
voidf(
int)
;voidf(
int)
const
;//上乙個函式的過載。
5.節省空間const 定義的常量,從彙編的角度上只是給出了對應記憶體的位址,而不是像#define一樣給出的是數值,所以在程式執行過程中,const只拷貝乙份,而#define定義的常量是全部拷貝。
使用const定義常量可以節省記憶體空間,避免不必要的記憶體分配。
#define pi=3.14
//巨集定義的常量。
const
double pi=
3.14
;//此時並沒有為pi分配記憶體空間
double i = pi;
//此時分配空間,以後不再分配。
double j = pi;
//編譯過程中進行替換,分配空間。
double i = pi;//不分配空間。
double j = pi;//編譯過程進行替換,再次分配空間。
6.提高效率
編譯器通常不為普通的const 常量分配記憶體空間,而是將他們儲存在符號表裡面,使其成為
乙個編譯過程的常量,沒有儲存和讀記憶體的操作,使程式效率很高。
const的主要作用
可以定義const常量,具有不可變性。例如 const int max 100 max 會產生錯誤。可以避免意義模糊的數字出現,同樣可以很方便地進行引數的調整和修改。同巨集定義一樣,可以做到不變則已,一變都變!如 1 中,如果想修改max的內容,只需要 const int max you want ...
c 中const的作用
const給人的第一印象就是定義常量。1 const用於定義常量。例如 const int n 100 const int m 200 這樣程式中只要用到 n m 就分別代表為整型100 200,n m 為一常量,在程式中不可改變。但有人說他程式設計時從來不用const定義常量。我相信。但他是不懂得...
c 中const的作用
const給人的第一印象就是定義常量。1 const用於定義常量。例如 const int n 100 const int m 200 這樣程式中只要用到 n m 就分別代表為整型100 200,n m 為一常量,在程式中不可改變。但有人說他程式設計時從來不用const定義常量。我相信。但他是不懂得...