引用是C++里一个类似指针的功能。
创建引用时设置应用的目标,引用的目标地址非空、不可变。
使用应用的时候语法就减去了一层解引用。
不支持双重引用。取不到引用的地址。不支持引用组成的数组。
可以引用一个临时的右值。
#include <iostream>
using namespace std;
int main()
{
int var1 = 123;
int *ptr1 = &var1;
cout << ptr1 << " " << *ptr1 << endl;
int &ref1 = var1;
cout << &ref1 << " " << ref1 << endl;
struct A
{
int attr;
};
A var2;
var2.attr = 123;
A *ptr2 = &var2;
cout << ptr2 << " " << ptr2->attr << endl;
A &ref2 = var2;
cout << &ref2 << " " << ref2.attr << endl;
}