我想知道是否可以访问所有用户数据“表”(它是否称为用户数据表?)然后从 Lua 中删除它们,因为这是我的问题:
a = Object(5, 5)
a:Delete()
a:SetPosition(3,3)
正如您首先看到的,我创建了一个对象并保存了一个指向名为 Object 的 c++ 类的指针,该类在我的地图类中使用“new”分配。然后我删除对象,这意味着我删除了为地图类中的指针分配的内存。最后我调用 SetPosition,如果内存仍然分配给 c++ Object 类,那么一切都会很有趣。但是如果它被删除(在这种情况下是因为我们在 SetPosition(...) 调用之前调用了 Delete())我的程序将崩溃。所以我想知道的是:
是否可以通过调用 Delete 将 lua 中的变量 'a' 设置为 nil ?我知道如果 Delete 返回 nil,我可以执行类似 'a = a:Delete()' 的操作,但如果我忘记执行 'a =' 部分,它会失败。另外我想知道是否可以删除用户数据并在我调用 SetPositon() 时检查它是否不存在,如果不存在,我将返回。
此外,基本代码来自: http: //lua-users.org/wiki/SimpleCppBinding