爲何使用do{}while(0)來進行宏定義

最近發現不少代碼在進行宏定義的時候使用喜歡使用 #define MACRO_NAME(para) do{macro content}while(0) 的格式,總結了如下幾個緣由:   1,空的宏定義避免warning: #define foo() do{}while(0)   2,存在一個獨立的block,能夠用來進行變量定義,進行比較複雜的實現。   3,若是出如今判斷語句事後的宏,這樣能夠保證
相關文章
相關標籤/搜索