2
採用、C++のオブジェクトのテーブルを返す、私はポリシーluabindを使用
class_<lua_Object> reg("Object");
reg
.def(constructor<float,float>())
;
module(L) [ reg ];
として
module(L)
[
def("create_table", &create_table)
]
とlua_Objectとしての機能を登録するC++
luabind::object create_table(lua_State *L)
{
luabind::object result = luabind::newtable(L);
int index = 1;
for (...) {
lua_Object *o = new lua_Object(...);
result[ index ++ ] = o;
}
return result;
}
からオブジェクトのテーブルを作成します
テーブルに格納されているオブジェクトの所有権をluabindに伝えるにはどうすればよいですか(新しいlua_Object(...))?何が回避策ですか?
おかげ -
ありがとう - 私はちょうどそれを試してみて、それは正常に動作します。生のポリシーはもはや必要ありません:http://www.rasterbar.com/products/luabind/docs.html#raw、lua_State *を最初のパラメータとして置き、luaBindはそれを自動的に検出します。 – user608003