原文:do while(0)的作用

閱讀Mitsuba的代碼的時候,發現了一個有意思的地方: 定義了一個Log的宏函數,使用了do ... while 的語法,這里的while中的條件是常量 ,上面的代碼永遠只執行一遍。 感覺是多此一舉,做法令人費解。上stack overflow查了下資料。說法很多,我在下面歸納兩條比較有價值的分析: .就是上面的宏定義中,do while 的意義: 可以先看看Log宏函數如何被使用的: Log別 ...

2015-06-02 16:03 1 4206 推薦指數:

查看詳情

whiledo while區別

do-while循環與while循環的不同在於:它先執行循環中的語句,然后再判斷表達式是否為真, 如果為真則繼續循環;如果為假, 則終止循環。因此, do-while循環至少要執行一次循環語句。 簡單來講就是說while循環是先循環后判斷 。 ...

Tue Oct 06 22:06:00 CST 2020 0 978
whiledo while循環的區別

int a; scanf_s("%d",&a); while(a>0) {   //do something; } while循環先要判斷條件是否成立,如果不成立,那么就直接越過循環,所以while循環執行的次數最少是0次。 do while 循環執行的次數 ...

Sun Oct 14 00:54:00 CST 2018 0 761
python實現dowhile

python中沒有dowhile語法,但是python編程中遇到需要使用dowhile來實現編程要怎么寫呢? 下面是我從其它博主那里看到的方法,做個筆記,以防遺忘。 要實現的例子: 代碼如下: 1、 a = 0 a = input() while ...

Fri Dec 25 18:06:00 CST 2020 0 428
linux do{} while(0)

  do{}while(0)   在linux中,經常會看到do{}while(0)這樣的語句,許多人開始都會疑惑,認為do{}while(0)毫無意義,因為它只會執行一次,加不加do{}while(0)效果是一樣的,其實do{}while(0) 的用法主要在於宏定義中。   這里用一個簡單 ...

Mon Feb 25 03:22:00 CST 2019 0 602
使用do{ } while(0)的好處

這樣的代碼一看就不是一個循環,do..while表面上在這里一點意義都沒有,那么為什么要這么用呢? 實際上,do{...}while(0)的作用遠大於美化你的代碼。查了些資料,總結起來這樣寫主要有以下幾點好處: 1、輔助定義復雜的宏,避免引用的時候出錯: 舉例來說,假設你需要 ...

Thu Sep 26 23:16:00 CST 2019 0 1095
為什么要用do-while(0)?

今天讀代碼時候,看到這樣的代碼。。 #define MG_SET_PTRPTR(_ptr, _v) \ do { \ if (_ptr) *(_ptr) = _v; \ } while (0) 1、對於帶有if 語句的宏,無論是內核還是開源代碼,都是用到了do while ...

Thu May 17 01:14:00 CST 2018 0 1211
使用do{ } while(0);有什么好處?

原帖地址:http://bbs.csdn.net/topics/390361821?page=1#post-393624278 【gq414047080】: 這樣的寫法有什么好處啊? 將樓主的問題擴展一下,do{} while(0);的用處都有什么?不僅限於樓主所貼代碼的使用 ...

Sat Feb 02 02:30:00 CST 2013 1 7629
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM