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 }

原文地址:https://www.cnblogs.com/hkleak/p/5028667.html