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 }

C++引用笔记_第1张图片

 

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

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 }

C++引用笔记_第2张图片

 

你可能感兴趣的:(C++引用笔记)