zoukankan      html  css  js  c++  java
  • C++引用笔记

    1.什么是引用:

    百度百科里的解释:引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。用&符号表示

    举例:

     1 using namespace std;
     2 int _tmain(int argc, _TCHAR* argv[])
     3 {
     4     int love = 520;
     5     int &ai=love;
     6       /*ai是整型变量love的别名 对ai的操作实际就是对love的操作
     7         注意ai前边的&的符号不是取地址运算符    这里是引用运算符
     8         它们的符号一样  但功能却不一样
     9       */
    10     cout << "ai:" << ai << endl;   //实际就是在对love变量操作  所以ai值是520
    11     ai = 0;
    12     cout << "love:" << love << endl;  // 上一行ai = 0 那么love的值也变了 为0
    13     cin.get() ;
    14     return 0;
    15 }

    我们把上边的代码稍微改一下来区分:

     1 #include <iostream>
     2 using namespace std;
     3 int _tmain(int argc, _TCHAR* argv[])
     4 {
     5     int love = 520;
     6     int &ai=love;
     7 
     8     cout << "love的地址:" << &love << endl;   //取love变量地址
     9     cout << "ai的地址:" << &ai << endl;       ///取别名ai地址
    10     cin.get() ;
    11     return 0;
    12 }

    可以看见内存地址都一样,这样我们就能明白引用就是引用别名,对别名操作就是对原名的操作。

    2.引用对象:

     1 #include <iostream>
     2 using namespace std;
     3 class myCls         //定义类
     4 {
     5  public:
     6    int AddNum(int x,int y)
     7    {
     8       return x + y ;
     9    }
    10 
    11 };
    12 int _tmain(int argc, _TCHAR* argv[])
    13 {
    14     myCls Love ;           //先用定义好的类创建一个对象Love
    15     myCls &rlove = Love;  // 定义对象love的别名为rlove
    16     // myCls &rmyCls = myCls;  错误 我们不能对类进行定义别名
    17     int sum = rlove.AddNum(2,3); //定义好后 就可以对别名进行类里的数据成员调用访问了
    18     cout << sum << endl;  
    19     cin.get() ;
    20     return 0;
    21 }

  • 相关阅读:
    4. 归并排序
    3. 堆排序
    2. 希尔排序
    1. 选择排序、插入排序、冒泡排序
    1. 拓扑排序
    8. 最大堆
    7. B+树
    6. B树
    5. 二叉查找树、平衡二叉树、红黑树的效率比较
    4. 红黑二叉树
  • 原文地址:https://www.cnblogs.com/hkleak/p/5028667.html
Copyright © 2011-2022 走看看