C++_引用

来源:互联网 发布:vs2010写c语言 编辑:程序博客网 时间:2024/06/14 01:00
//***** 引用 *****void test1(){    int num;    int &m_num = num;    num = 100;    std::cout << "num:" << num << std::endl;    std::cout << "m_num:" << m_num << std::endl;    /*    引用就是变量或者对象的别名,引用本身保存的是地址,所以它非常类似指针    注意:引用只能在声明时初始化,不能等待以后再赋值    例如上面例子:m_num也就代表num,操作m_num相当于操作num    引用和指针的区别:    1、指针是间接操作数据,而引用是直接操作数据    */}//***** 引用的地址 *****void test2(){    int num = 100;    int &m_num = num;    std::cout << "num的地址:" << &num << std::endl;  // 原名地址    std::cout << "m_num的地址:" << &m_num << std::endl;  // 引用地址    /*    别名(引用)的地址就是原名的地址,所以更加说明了引用就是别名    两者地址相同,不管操作哪一个,都是操作同一个数据    别名其实就是常量别名,别名在声明时就已经初始化,它一旦初始化,就再也不能更改    */}//***** 对象引用 *****class Human{public:    Human(){};    ~Human(){};    void SetValue(int x)    {        i = x;    }    int GetValue()    {        return i;    }private:    int i;};void test3(){    Human Mike;    Human &rMike = Mike;  // 对象引用    rMike.SetValue(10);    std::cout << "i:" << rMike.GetValue() << std::endl;}

0 0
原创粉丝点击