关于setpeer和getpeer的作用

function CocoStudioTestScene.extend(target)
local t = tolua.getpeer(target)
if not t then
t = {}
tolua.setpeer(target, t)
end
setmetatable(t, CocoStudioTestScene)
return target
end

刚接触quick和lua,对cocos2dx的class稍微理解了一点,但对这另一种继承方法不是很理解
求大家帮我解释一下getpeer和setpeer的作用,还有setpeer和__index的关系

每个C++对象需要存贮自己的成员变量的值,这个值不能够存贮在元表里(因为元表是类共用的),所以每个对象要用一个私有的表来存贮,这个表在tolua里叫做peer表。
元表的__index指向了一个C函数,当在Lua中要访问一个C++对象的成员变量(准确的说是一个域)时,会调用这个C函数,在这个C函数中,会查找各个关联表来取得要访问的域,这其中就包括peer表的查询。

解释了都不懂怎么办。。。

为自己智商感到捉急 :3:

这个需要对tolua的机制有比较深入的了解。一般的使用可以暂时不去深究原理的。

这个问题其实比较深了,要先了解一些语言底层的知识。正常的开发,可以先不去探究的

虽然还是不懂,不过谢谢大神们的解答

我也看到看不太懂,看到二楼的解释,明白了些,谢谢二楼的回答。感谢,好人一生平安。:7:

不是类似于key ,value的一种绑定关系吗