1
例如,如果我有這樣的代碼:我可以創建一個宏來執行調試或發佈代碼嗎?
#ifdef _DEBUG
mPluginsCfg = "plugins_d.cfg";
#else
mPluginsCfg = "plugins.cfg";
#endif
我可以定義一個宏,看起來像
#define DEBUG_RELEASE(debug_code, release_code)
,然後用它像這樣;
DEBUG_RELEASE(mPluginsCfg = "plugins_d.cfg";,mPluginsCfg = "plugins.cfg";)
如果你還沒有看到任何醜陋的東西,你還沒有看到人們用宏做出的更瘋狂的事情。但是,是的,至少在像OP一樣使用它時,這相當難看。 – delnan 2013-02-09 21:57:44
哦,就這麼簡單?出於某種原因,我試圖在#define中使用#ifdef來做到這一點。我不明白爲什麼這是醜陋的壽。我的意思是它擊敗了每次都不寫完整的東西? – BringMeAnother 2013-02-09 21:59:13
@delnan我同意。如果你想在C世界有足夠的時間,你會看到更多醜陋的東西。雖然它非常強大,可以做許多隻有C++纔有的功能。 – texasbruce 2013-02-09 22:00:28