1、引用的概念
引用通俗理解为变量取别名,再如typedef则是给类型取别名。
2、引用的定义及使用
类型名 & 别名 = 真名
#include <iostream>
#include <string>
using namespace std;
int main()
{
int longdata = 10;
// 类型名 & 别名 = 真名 ;
int& data = longdata;
cout << "longdata:" << longdata << endl;
cout << "data:" << data << endl;
return 0;
}
3、引用的注意事项及与指针的区别
1.别名与真名类型要一致(如同int)
2.这里定义引用时 &是引用标志 而不是取地址
3.对于引用的操作 相当于操作真名本身 指针是间接操作,如下例:
#include <iostream>
#include <string>
using namespace std;
int main()
{
int longdata = 10;
int& data = longdata;
data = 20;
cout << "longdata:" << longdata << endl;
return 0;
}
输出结果为 longdata:20
4.引用和真名共地址,没有额外分配空间 指针需要额外4个字节的空间
#include <iostream>
#include <string>
using namespace std;
int main()
{
int longdata = 10;
int& data = longdata;
cout << "&longdata:" << &longdata << endl;
cout << "&data:" << &data << endl;
return 0;
}
5.引用必须初始化 指针不用初始化
int&data1; //错误 “data1”:必须初始化引用
6.不存在多层引用 存在多级指针