被使用在lua的手冊中,我們讀:lua_unref在Lua
的引用是一個唯一整數密鑰。 只要您不手動將 整數鍵添加到表t中,luaL_ref 可確保其返回的密鑰的唯一性。您可以通過調用 lua_rawgeti(L,t,r)檢索參考文獻r提到的對象 。功能 luaL_unref 釋放參考及其 關聯對象。
假設我創建一個對象的引用,將其推到API堆棧,保存一個全局變量下,然後調用luaL_unref
....是否得到釋放,儘管被指出在Lua?
示例代碼:
lua_newtable(L);
int index = luaL_ref(L, LUA_REGISTRYINDEX);
lua_rawgeti(L, LUA_REGISTRYINDEX, index);
lua_setglobal(L, "test");
luaL_unref(L, LUA_REGISTRYINDEX, index);
lua_getglobal(L, "test"); // ...?