1.引用必须在声明时将其初始化,不能先声明后赋值。
#include
using namespace std;
int main()
{
int rats = 10;
//声明引用,旦未初始化
int &rodents;
rodents = rats;
return 0;
}
上述代码编译时会报以下错误:
error: ‘rodents’ declared as reference but not initialized
错误:'rodents' 声明为引用但未初始化。
2.引用更接近const指针,必须在创建时进行初始化,一旦引用和某个变量关联起来,该引用就会一直指向该变量。
int rats = 10;
int &rodents = rats;
上面代码实际上是下述代码的伪装表示:
int rats = 10;
int * const pr = &rats;
例子:
#include
using namespace std;
int main()
{
int rats = 100;
int &rodent = rats;
cout << "rats = "<
int bunnies = 50;
rodent = bunnies;
cout << "rats = "<