练习2.15
int ival = 1.01; //程序可运行,但提示从double转到int,可能会丢失部分数据
int &rvall = 1.01; //错误,引用不能于字面值绑定在一起
int &rval2 = ival; // 合法
int &rval3; //报错,引用必须被初始化,绑定对象
练习2.16
int i = 0, &r1 = i;
double d = 0, &r2 = d;
r2 = 3.14159; // 合法,把3.14159赋给r2指向的对象,此次即是赋给了d
cout << i << endl;
cout << d << endl;
int i = 0, &r1 = i;
double d = 0, &r2 = d;
r2 = r1; //把r1指向的对象,i,赋给了r2指向的对象,d
cout << i << endl;
cout << d << endl;
int i = 0, &r1 = i;
double d = 0, &r2 = d;
i = r2; //把r2指向的对象,d,赋给了i
cout << i << endl;
cout << d << endl;
//提示,从double转到int,可能丢失数据
int i = 0, &r1 = i;
double d = 0, &r2 = d;
r1 = d; //把d,赋给了r1指向的对象,i
cout << i << endl;
cout << d << endl;
//提示,从double转到int,可能丢失数据
#include <iostream>
using namespace std;
int main() {
int i, & ri = i; //定义变量i,ri指向i
i = 5; ri = 10; //把10赋值给ri指向的对象,此处即是献给了i
cout << i << " " << ri << endl; //i和ri的输出结果必然相同
return 0;
}