C++中的函数名宏

Gre*_*eta 2 c++ macros

我有一个看起来像这样的c ++宏

#define lua_tpushstring(L,n,f) \
            (lua_pushstring(L, n), lua_pushstring(L, f))
Run Code Online (Sandbox Code Playgroud)

我想修改它,所以它像这样工作

#define lua_tpush(TYPE,L,n,f) \
            (lua_pushstring(L, n), lua_pushTYPE(L, f))

lua_tpush(boolean, L, "a", true);
lua_tpush(string, L, "a", "");
Run Code Online (Sandbox Code Playgroud)

什么是简单的改变?

Ker*_* SB 6

令牌连接:

#define lua_tpush(TYPE,L,n,f)  (lua_pushstring(L, n), lua_push##TYPE(L, f))
Run Code Online (Sandbox Code Playgroud)