• lua "引用表"的清空


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

  • 相关阅读:
    协成
    进程与线程-多线程
    进程与线程2
    进程与线程
    socket编程
    常用模块二(hashlib、configparser、logging)
    异常处理
    python之路——面向对象进阶
    封装
    初识——面向对象
  • 原文地址:https://www.cnblogs.com/emyueguang/p/2234303.html
Copyright © 2020-2023  润新知