C++在Lua中对嵌套Table的处理
程序员文章站
2022-03-31 10:13:44
对嵌套Table的处理。例如在Lua中有如下定义:
luat_Nest= {a=123, b=456, c={1,2,3}}
其中,成员C就是嵌套的。在C/C++中如何处理...
对嵌套Table的处理。例如在Lua中有如下定义:
luat_Nest= {a=123, b=456, c={1,2,3}}
其中,成员C就是嵌套的。在C/C++中如何处理呢?其实,对于这种仅仅嵌套一层的表还是比较容易处理的。下面的代码就可以:
代码
NestTable.cpp
luat_Nest = {a={b={c={123, 456, 789}}}}
处理起来就复杂多了。我的处理办法是封装成一个类(CLuaTable)出来,然后一层一层的读取下去。但是,很可惜,由于lua与C/C++交互的时候使用的是栈,当我们需要读取luat_Nest.a.b.c[1]时不得不先从全局表中找到luat_Nest并压入栈,然后再将a、b、c依次压栈,最后再读取成员。对于线性遍历还好说,没啥好说的。而对于随机访问,效率就会是个问题了。所以,在实际项目中最好还是别用嵌套的Table,不仅复杂度高。效率还差。
限于篇幅,CLuaTable类的代码,我就不贴出来了。
上一篇: 编译Android的uboot环境教程
推荐阅读
-
Gzip在apache2中的设置和squid对它的处理
-
在JSTL EL中处理java.util.Map,及嵌套List的情况
-
Gzip在apache2中的设置和squid对它的处理
-
利用查询条件对象,在Asp.net Web API中实现对业务数据的分页查询处理
-
lua-resty-iputils, 在Openresty中,用于处理IP地址的实用程序函数
-
C++在Lua中对嵌套Table的处理
-
Lua教程(四):在Lua中调用C语言、C++的函数
-
Lua教程(三):C语言、C++中调用Lua的Table示例
-
在Winform系统界面中对进展阶段的动态展示和处理
-
Form嵌套Form 在table中的奇怪现象_html/css_WEB-ITnose