--~ C++ 值与引用 小引
--~ 思考 1
--~ int v = 1;
--~ int &v1 = v;
--~ v = 2;
--~ v1 == ?
--~ 思考 2
--~ int v = 1;
--~ int v1 = v;
--~ v = 2;
--~ v1 == ?
local tab = {"a","b"}
local tab2 = tab;
print(tab2[1]);
tab[1] = "x";
print(tab2[1]);
tab2[1] = "XX";
print(tab[1]);
-- 上面表示,tab 传的 "引用"给tab2,因为它们的值改变了,对方的值也改变,即,他们引用的是同一地址
tab2 = {}; -- 把tab2清空,理论上tab也应该被清空,可是,这条语句的本质是,将tab2“指向一个新的地址”,在C++里面引用是不可以再引用到另一个对象上的,即,引用与对象是一对一的关系
print(tab[1]); -- 值为XX
关于“引用表”的清空,要将原表清空,遍历"引用表",将它的每个值设置为nil,要么就使用一个新表,与原来的无关