c 再學習(巨集的基礎應用 常用的巨集)

2021-09-27 13:43:00 字數 754 閱讀 8566

在c++中,巨集是非常常用的,本篇部落格粗略地對巨集的使用和常用技巧做一些歸納。

巨集的基礎用法:

#define maxinum 1000
這樣我們就將maxinum定義為1000(注意巨集不需要分號)

與此同時,正如之前介紹lamba的內容所說,我們在呼叫巨集時採取的是直接取代法,所以難免會出現問題

比如:

#define add(a,b) a+b
以上巨集在cadd(a+b)時會被翻譯為ca+b,顯然不合適。

條件編譯(有時候我們希望系統根據生產情況使用不同的巨集):

#ifdef

#ifdef dv22_aux_input

#define aux_mode 3

#else

#define auy_mode 3

#endif

//這一段是不是充滿了python的既視感?我也這麼覺得

我們不希望之前的巨集被現在的巨集覆蓋時,使用:

#ifndef

如果需要定義多行的巨集,那:

#define ma()do

while(0

)/

關鍵在於每一行最後的/

最後分享一些我個人覺得有用的巨集

#define foreach(a,b,k) for(int i=a;i

c語言再學習之巨集與函式

巨集概念 c 巨集定義將乙個 識別符號定義為乙個字串,源程式 中的該識別符號均以指定的字串來代替。巨集書寫形式 define 巨集名 參數列 巨集體 巨集與函式的區別 時間上考慮 1 巨集只佔編譯時間,函式呼叫則占用執行時間 分配單元,儲存現場,值傳遞,返回 每次執行都要載入,所以執行相對巨集會較慢...

C 的巨集和 C 的巨集

總結一下c和c 的巨集。大家經常使用的其實都是c中的巨集,但是c 都延續了下來,先回顧一下。define 定義巨集 undef 取消巨集 include 包含標頭檔案 ifdef 如果巨集已經定義,則返回真 ifndef 如果巨集沒有定義,則返回真 if 如果條件為真,則執行下面的 else 與 i...

C中常用的巨集

define 定義乙個預處理巨集 undef 取消巨集的定義 include 包含檔案命令 if 編譯預處理中的條件命令,相當於c語法中的if語句 ifdef 判斷某個巨集是否被定義,若已定義,執行隨後的語句 ifndef 與 ifdef相反,判斷某個巨集是否未被定義 elif 若 if,ifdef...