我對編程相對比較陌生,我正在學習如何在C++中使用wxWidgets(使用Visual Studio 2010)。#define指令有多個替換?
我正在瀏覽wxWidgets頭文件「app.h」,並看到一些我無法理解的#define
指令。這裏有一個例子:
#define wxIMPLEMENT_APP(appname) \
wxIMPLEMENT_WX_THEME_SUPPORT \
wxIMPLEMENT_APP_NO_THEMES(appname)"
我已經習慣了看到一個「標識符」和一個「替代」的#define,所以如果這個宏有兩個「標識符」我無法理解(wxIMPLEMENT_APP(appname)
和wxIMPLEMENT_WX_THEME_SUPPORT
)和一個「替代品」(wxIMPLEMENT_APP_NO_THEMES (appname)
)或一個「標識符」(wxIMPLEMENT_APP(appname)
)和兩個「替代品」(wxIMPLEMENT_WX_THEME_SUPPORT
和wxIMPLEMENT_APP_NO_THEMES(appname)
)。
我如何理解這個宏?
我試過在網上查找和在教科書中搜索「macros」,「預處理器指令」,「文本替換宏」,「#define指令」和類似內容,但找不到任何解釋示例看起來像我在這裏的那個。
建議:儘量保持宏爲最後的手段。 – iammilind 2012-04-05 14:40:57
使用你的命名法,你的宏有一個標識符和一個替換。標識符是'wxIMPLEMENT_APP(appname)',替換爲'wxIMPLEMENT_WX_THEME_SUPPORT wxIMPLEMENT_APP_NO_THEMES(appname)''。 – 2012-04-05 14:51:25
Rob:謝謝你澄清標識符和替換的作用 – 2012-04-05 16:18:16