const與define的區別

2021-08-26 05:19:40 字數 651 閱讀 4342

來自《程式設計師面試寶典第五版歐立奇》

const操作大回顧

int b=500;

const int *a=&b;//情況1

int const *a=&b;//情況2

int *const a=&b;//情況3

const int * const a=&b;//情況4

//對於情況1和2

*a都是常量,a是變數可以改變

改變方法

1)int b=500;

const int *a=&b;

b=600;

cout

再定義類的成員函式中,一些成員函式不改變類的資料成員,也就是,這些函式是唯讀函式,操作方法:把不改變資料成員的函式都加上const關鍵字進行標識

如果const放在函式申明前,這樣做就意味著函式的返回值是常量

define與const的區別

define 定義的其實是乙個字面常量的名字,在程式中可以把這個名字等價於字面常量使用,在編譯時會被編譯器替換為該字面常量。使用這種方式,只能達到提高程式可讀性的效果,但是安全性不能得到保證。從const 語句的語法格式可以看出,const 語句支援為常量指定型別,編譯器在編譯 時將其型別進行安全檢...

const 與 define的區別

在c程式中,const的用法主要有定義常量 修飾函式引數 修飾函式返回值等3個用處 在c 程式中,它還可以修飾函式的定義體,定義類中某個成員函式為恆態函式,即不改變類中的資料成員 1 const 有資料型別,而巨集沒有資料型別,編譯器可以對前者進行型別安全檢查,而對後者只進行字元替換,沒有型別安全檢...

const與define的區別

const與define的區別 1 編譯器處理方式不同 define巨集是在預處理階段展開。const常量是編譯執行階段使用。2 型別和安全檢查不同 define巨集沒有型別,不做任何型別檢查,僅僅是展開。const常量有具體的型別,在編譯階段會執行型別檢查。3 儲存方式不同 define巨集僅僅是...