這兩天在看別人代碼時(shí),發(fā)現(xiàn)別人在宏定義中使用了do...while語句,百思不得其解,于是在網(wǎng)上查找了一番,現(xiàn)總結(jié)了一下,轉(zhuǎn)帖出來共享!#define MACRO_NAME(para) do{macro content}while(0)的格式,總結(jié)了以下幾個(gè)原因:1,空的宏定義避免warning:#define foo() do{}while(0)2,存在一個(gè)獨(dú)立的block,可以用來進(jìn)行變量定義,進(jìn)行比較復(fù)雜的實(shí)現(xiàn)。3,如果出現(xiàn)在判斷語句過后的宏,這樣可以保證作為一個(gè)整體來是實(shí)現(xiàn):#define foo(x) \action1(); \action2();在以下情況下:if(NULL == 
作者: Rollen Holt 發(fā)表于 2010-12-16 00:10 原文鏈接
評(píng)論: 0 查看評(píng)論 發(fā)表評(píng)論
最新新聞:
· 在線比價(jià)搜索引擎Shop.com出售 蓋茨曾投資(2010-12-16 08:54)
· 鄧元鋆離職背后:諾基亞中國腹背受敵(2010-12-16 08:53)
· 央行:超級(jí)網(wǎng)銀收費(fèi)將降低(2010-12-16 08:52)
· Android和iPhone平臺(tái)2010年度最佳軟件和游戲榜單出爐(2010-12-16 08:50)
· 京東遭遇出版社集體逼宮 今日恢復(fù)原價(jià)改返券(2010-12-16 08:48)
網(wǎng)站導(dǎo)航:博客園首頁 我的園子 新聞 閃存 小組 博問 知識(shí)庫
文章來源:
http://www.cnblogs.com/rollenholt/articles/1907414.html
posted on 2010-12-16 00:10
Rollen Holt 閱讀(174)
評(píng)論(0) 編輯 收藏 引用