0
A
回答
0
是的這是正確的方法。
理想情況下你想要的宏擴展到一個單一聲明,不一個複合聲明。你的滿足。
您可以安全地在if
,else
塊中使用此宏。
1
是的。
雖然正確的方法是最經常沒有任何類似功能的宏。
請注意,DO-而(0)訣竅是僅與馬虎括號風格的代碼庫有關,如
if(x)
AB();
else
的DO-而(0)技巧將防止由於編譯器錯誤流浪的分號,如果有以下else
聲明。如果宏只使用大括號,你會得到if(){}; else
這是一個語法錯誤。
請注意,上述支架樣式導致了歷史上最昂貴的軟件錯誤之一,稱爲Apple「goto-fail」錯誤。所以有很好的理由永遠不要使用它。如果在每個語句後總是使用{}
,則do-while(0)技巧也變得無關緊要。
相關問題
- 1. 一個語句中有多個遊標
- 2. 是否有可能有一個CASE語句中多個SELECT語句在SQL
- 3. 有沒有辦法在一個if語句中有多個值?
- 4. 如何將多個count()語句合併到一個語句中
- 5. SQL UPDATE:一個語句或多個單列語句中的多個列?
- 6. if語句中的多個jquery語句
- 7. 更新一個表中有多個字段的SQL語句
- 8. SQL在一個查詢中有多個選擇計數語句
- 9. 如果在SML中有多個語句
- 10. 如何在我的for循環宏中包含多個語句?
- 11. 多個if語句和一個循環
- 12. 一個SqlDataSource上的多個INSERT語句
- 13. 我有一個SQL語句
- 14. 多個返回語句與多個goto語句:哪一個更好?
- 15. 語法錯誤:多個語句中找到在編譯一個語句
- 16. IF,THEN語句在MySQL中有多個語句
- 17. Haskell中的多個語句
- 18. 多行宏(C++)中的If-else語句
- 19. 多個re.sub()語句
- 20. 多個SELECT語句
- 21. 多個SELECT語句
- 22. 多個case語句
- 23. msyql多個,語句
- 24. 從多個語句
- 25. 多個Countif語句
- 26. 多個if語句
- 27. 多個下語句
- 28. if語句將所有語句分組爲一個語句
- 29. 一個jQuery中多個語句的語法
- 30. 在AND語句或OR語句的if語句中有多個運算符
宏只是文本替換。我不認爲這個問題是有道理的。您通常不會在宏中有*,因爲宏不是一個語法單位。 –
現在取決於你想如何使用宏 –
這個宏的優點是可以將函數調用寫成函數調用,即'AB();' –