创建引用变量
int rats;
int & rodents = rats;
<p>
</p>
&不是地址运算符,而是类型标示符的一部分。就像声明中的char*指的是char的指针一样,int &指的是指向int的引用。
int rats =101;
int & rodents = rats;
int * prats = &rats;
表达式rodents和*prats都可以互换,而表达式&rodents和prats都可以同&rats互换。
引用和声明的不同之处在于,必须声明引用时将其初始化,不能像指针一样,先声明,后赋值。
int & rondents = rats;
实际上是下述代码的伪装表示;
int * const pr = & rats;
#include <iostream>
int main()
{
using namespace std;
int rats = 101;
int & rodents = rats; //创建引用
cout << "rats = " << rats;
cout << ", rodents = " << rodents << endl;
cout << "rats address = " << &rats;
cout << ", rodents address = " << &rodents << endl;
int bunnies = 50;
rodents = bunnies;
cout << "bunnies = " << bunnies;
cout << ", rats = " << rats;
cout << ", rodents = " << rodents << endl;
cout << "bunnies address = " << &bunnies;
cout << ", rodents address = " << &rodents << endl;
// cin.get();
return 0;
}
输出: