const的作用總結

2021-10-06 02:34:19 字數 1266 閱讀 5543

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定義常量。我相信。但他是不懂得...