有的时候我们需要平衡类型擦除与性能的冲突, 所以本文也会以lua function wrapper这种功能为例, 简单介绍这部分.
1....后续的两个特化实现分别针对reference和const reference, 主要依赖UserObject的ref()和cref()模板函数, 最后就是CallHelper模板类使用到的的...lua_State参数的版本, 原因也是显而意见的, 需要通过lua_State来交换需要的数据, Lua版与C++版本的实现主要的差异也在这里, 我们接下来具体看看这两个模板函数的实现.
5.2 CovertArgs...与CovertArgs一样, ChooseCallRetruner也是对LuaValueWriter模板类的包装和使用, 我们同样给出其中一个LuaValueWriter的实现供参考:
template...通过上述C++版和Lua版的函数反射实现, 我们其实可以发现在Ponder已有的设施下, 实现不同目的反射函数变得相当的简单, 基于C++版本反射函数的实现思路, 可以非常方便的实现其他目的版本的反射函数