--~ 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,要么就使用一个新表,与原来的无关
|
请发表评论