lua 如何实现 C++ 里的 map admin 2023-09-04 11:12:02 篇首语:本文由小编为大家整理,主要介绍了lua 如何实现 C++ 里的 map相关的知识,希望对你有一定的参考价值。 我是这样定义的:lb_infos = index, lb_info = id = 0, model = 0 我这么用,却出错了:lb_infos[i]["id"] = sqlid 用lua封装成类似c++中map的功能方法:实现代码如下:1、stl_map.lua //创建一个stl_map2、map = //初始化为空3、创建一个mapfunction map:new()local object = setmetatable(object, self)self.__index = self--用一个table来保存keyself.__keyList = return objectend4、使用:插入元素[如果已存在该key,则不做改动,和STL一致]function map:insert(key, value)if(self[key] == nil) thenself[key] = valuetable.insert(self.__keyList, key)endreturn selfend 参考技术A lb_infos = [0] = id = 0, model = 0 本回答被提问者和网友采纳 UE4 Unlua源码解析8 - Lua与C++之间的参数转换的实现原理 Lua与C++之间的参数转换的实现原理 2.1 Lua传给C++的参数C++怎么转换成C++属性的 2.2 C++返回给Lua的参数或者UObjct对象,怎么在Lua端自动变成Lua对象的 2.1 Lua传给C++的参数C++怎么转换成C++属性的 PreCall中将Lua参数转换成C++参数,主要发生在下列代码中 CleanupFlags[i] = Property->SetValue(L, Params, FirstParamIndex + ParamIndex, false); Property->SetValue传入的参数是拿到的Lua参数,当他被放到缓存区的时候为什么成了C++类型 可以看到SetValue调用到的是,虚方法SetValueInternal 首先在PropertyDesc中存储FProperty的时候,用的是联合,所以某一个属性,最终会成为FProperty或者继承FProperty的特例FProperty,然后虚方法Se以上是关于lua 如何实现 C++ 里的 map的主要内容,如果未能解决你的问题,请参考以下文章 impdp 怎样覆盖目标库的同名存储。 auditd服务,是干啥的? 您可能还会对下面的文章感兴趣: 相关文章 浏览器打不开网址提示“ERR_CONNECTION_TIMED_OUT”错误代码的解决方法 如何安装ocx控件 VMware的虚拟机为啥ip地址老是自动变化 vbyone和EDP区别 linux/debian到底怎么重启和关机 苹果平板键盘被弄到上方去了,如何调回正常? 机器学习常用距离度量 如何查看kindle型号