Lua 5.3 弃用了 luaL_checkint、luaL_checklong、luaL_optint、luaL_optlong,它们只是方便的宏调用luaL_{check|opt}integer
。
虽然我们仍然可以使用它们(因为),但用户手册-DLUA_COMPAT_5_2
中没有提到它们,我们建议使用“使用类型转换”。luaL_{check|opt}integer
现在,我不是 C 方面的专家,我想知道:
在以下简单情况下是否需要演员表?
int i; i = (int)luaL_checkinteger(L, 1);
如果这里不需要演员表,在哪里需要?
如果我们可以没有它们,为什么首先会诞生那些已弃用的宏?换句话说:他们提供了什么服务?
我们不是因为没有在函数名中嵌入“int”/“long”字样而丢失了“文档”吗?