C++ - 如何用 Lua 表作为成员来定义 userdatum?

我有一个名为 LuaSettings 的 userdatum。除了函数外,这个 userdatum 只有一个成员 - rawraw 成员是一个普通的 Lua 表。它的用途如下:

  1. 首先,userdatum 作为变量 settings 被推入堆栈

  2. 然后执行 Lua 文件,userdatum 被修改。

-- LuaSettings:register 函数修改 data.raw 表中的数据
settings:register {
    {
        name = "Fuzz",
        hello = "world"
    },
    {
        name = "Buzz"
        hello = "there"
    }
}

-- 用户也允许这样做:
settings.raw["Fuzz"].hello = ""
  1. 执行完成后,C++ 代码使用 settings.raw 表。

怎么做?这可能吗?如何定义这个 userdatum 的大小?

点赞