频道栏目
首页 > 资讯 > C++ > 正文

C++在Lua中对嵌套Table的处理

17-10-13        来源:[db:作者]  
收藏   我要投稿

对嵌套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类的代码,我就不贴出来了。

相关TAG标签
上一篇:什么是CocoaPods?CocoaPods安装教程
下一篇:点验+验证码方法能够完全替代短信校验码吗?
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站