第一篇博客,终于意识到写技术博客的重要性,亡羊补牢,为时不晚,哈哈接下来就谈一谈C++中的引用吧。
引用可以用 符号“&”来定义,应用只是某个变量的别名,注意只是多了一个名称而已,不为其分配内存空间,因而效率比较好,不能建立数组引用,具体原因在这里就先不讨论了哈~使用引用传递给函数,在内存中并没有产生实参的副本,效率和空间方面都很有优势,使用指针的话同样要给形参分配存储单元。
注意对引用的操作就是对原来对象的操作,引用值改变,原来对象的值也会改变,原来对象值改变,引用值也会改变,话不多说,上代码。
#include <bits/stdc++.h>
using namespace std;
int &put(int n);
int val[10];
int main()
{
int a = 1;
int &ra = a;
cout<<ra<<endl; //输出1
a = 2;
cout<<ra<<endl; //输出2
ra = 3;
cout<<a<<endl; //输出3
int &rb = a;
cout<<rb<<endl; //输出3
const int &rc = a; // 传说中的常引用
cout<<rc<<endl; //输出3
a = 4;
cout<<rc<<endl; //输出4
cout<<"=============================================="<<endl;
int b = 1;
put(0) = 10;
put(1) = 20;
cout<<val[0]<<" "<<val[1]<<endl;
cout<<b<<endl;
}
int &put(int n)
{
return val[n];
}
从put函数可以看出函数的返回也可以是引用的形式,后面会继续和大家讨论引用问题