我遇到定義的宏如下所示:c中的「do while」宏的優點?
#define CALL_FUNCS(x)
do {
func1(x);
func2(x);
func3(x);
} while (0);
現在,當然這會工作這是怎麼回事任何比下面的版本更好?
#define CALL_FUNCS(x)
{
func1(x);
func2(x);
func3(x);
}
我認爲這不是關於宏觀優化。對此有何想法?
C++常見問題解答[在此有一個很好的條目](http://www.parashift.com/c++-faq-lite/misc-technical-issues.html#faq-39.5) – 2012-02-08 20:17:43
謝謝塞斯卡內基,找到了指針:http://www.parashift.com/c++-faq-lite/misc-technical-issues.html#faq-39.5 – 2012-02-09 05:30:19
[C/C++宏中的Do-While和if-else語句]的可能重複(http ://stackoverflow.com/questions/154136/do-while-and-if-else-statements-in-cc-macros) – legoscia 2014-04-09 17:02:05