// C++_test1.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<iostream>
using namespace std;
int main()
{
//引用实际是为已经存在的对象起了另外一个名字
//引用必须初始化
int ival = 1024;
int &refval = ival;
refval = 5;
//正确,refval3绑定到那个与refval绑定的对象上,就是绑定到ival上
int &refval3 = refval;
//正确,利用与refval绑定的对象的值初始化变量i
int i = refval;
//由于引用本身不是一个变量,所以不能定义引用的引用
//引用只能绑定到对象上,不能与字面值或者某一个表达式绑定在一起
//引用除了两种特殊情况外,都必须严格和与之绑定的对象严格匹配
//引用没有实际地址,定义的指针不能指向引用
cout << "ival:" << ival << endl;
cout << "refval:" << refval << endl;
cout << "refval3:" << refval3 << endl;
cout << "i:" << i << endl;
int j = 0, &r1 = j;
double d = 0, &r2 = d;
r2 = r1;
cout << r1 << "\t" << r2 << endl;
return 0;
}