C const和 define的異同

2021-08-08 18:15:07 字數 443 閱讀 1007

· const分配記憶體的時機是在編譯器編譯時期

#include 

int main()

· const和#define的相同之處

int main()
· const和#define的區別

c++的const常量類似於巨集定義

const int c = 5; ≈ #define c 5

c++中的const常量與巨集定義不同

const常量是由編譯器處理的,提供型別檢查和作用域檢查

巨集定義由預處理器處理,單純的文字替換

· const定義的變數,由編譯器處理的,提供型別檢查和作用域檢查

void fun1()

void fun2()

int main()

c const與 define的用法總結

1 const a.可以用來定義常量 修飾函式引數 修飾函式返回值等三個作用。編譯階段 b.被const修飾的東西都受到強制保護,可以預防意外的變動,能提高程式的健壯性。2 define define是乙個巨集定義,可以定義乙個全域性變數,在整個檔案中都可以使用,它只是乙個字元替換操作,不做型別檢查...

關於C const限定符與define

const限定符修飾的常量無法修改,且在定義的時候必須同時初始化,否則error xcode平台 相比define,const指定的常量有型別,而define只是簡單的字元替換。const修飾的常量只能由const指標來指向,不能用乙個普通的指標指向乙個const修飾的常量 const int a ...

define巨集定義與inline內聯的異同

二 define巨集定義與inline內聯 1 內聯函式在可讀性方面與函式是相同的,而在編譯時是將函式直接嵌入呼叫程式的主體,省去了呼叫 返回指令,這樣在執行時速度更快。2 內聯函式可以除錯,而巨集定義是不可以除錯的。內聯函式與巨集本質上是兩個不同的概念如果程式編寫者對於既要求快速,又要求可讀的情況...