我需要一種語法,它允許我用一些變量的前面的初始化來啓動一段代碼,並且在代碼塊被執行後,我需要執行一些代碼來釋放一些其他變量。
因此,在塊內寫入的代碼應該在其他一些操作的中間執行。在執行塊之前和之後執行一些指令
這裏是我的了:
#define application(block) new Application(&argc, argv); auto __code= []() block ; __code(); mainApplication->launch()
,你看到的只是初始化一個應用程序(C++對象),所以我使用這種方式的代碼:
application({
< write the code >
});
這樣我確保應用程序始終被初始化,並在塊後啓動。
但我不知道是否有繼續走圓括號,這樣我就可以這樣寫道:
application{
< write the code >
};
而且這樣的作品,但它應該做的語法輕。
這是一些非常可怕的宏觀濫用? – Mysticial
如果你想要一個不同於C++的語法,爲什麼你不使用其他語言?例如你可以從你的語法編寫你自己的翻譯到C++。濫用相當弱的C++宏功能可能是一種不正確的方法。 – Vlad