1 引用
引用初始化必须是左值,只能是++a,不能是a++
void fun(int& a){}; //此过程相当于int& a = b;
int main(){
int b;
fun(b);}
int main() {
int a = 1;
int& b = ++a; // ++a返回a的引用,左值
//int& b = a++;
//a++返回a的副本,右值,error
cout << b << endl;
b = 5;
cout << a << endl; // a变为5
return 0;
}
++a返回的是引用,但是只返回到a里面,b无法作为a的引用
int main() {
int a = 1;
int b = ++a;
cout << b << endl; //输出2
b = 5;
cout << a << endl; // 输出2
return 0;
}
2 重载单目运算符返回引用
重载“=”、“[]”等运算符返回引用即返回左值,可以继续修改返回的对象