1.引用(reference)说明
- 为对象起了另外一个名字(引用即别名);
- 引用对指针进行了简单封装,底层仍然是指针;
- 获取引用地址时,编译器会进行内部转换。
2.注意事项
- 引用并非对象,只是为一个已经存在的对象起别名;
- 引用只能绑定在对象上,不能与字面值或某个表达式的计算结果绑定在一起;
int &ref_value = 10; //错误
const int &ref_value = 10; //正确
- 引用必须初始化,所以使用引用之前不需要测试其有效性,因此使用引用可能比使用指针效率高。
3.用例
#include <iostream> using namespace std; int main() { int num = 110; int &rel_num = num; /* 等价于 int *rel_num = # *rel_num = 120; */ const int &rel_num2 = 119; cout<<&num<<' '<<num<<endl; cout<<&rel_num2<<' '<<rel_num2<<endl; rel_num = 120; cout<<&num<<' '<<&rel_num<<endl; cout<<num<<' '<<rel_num<<endl; return 0; }
运行结果: