2.3.1节练习

2.3.1节练习 

练习2.15

(a) int ival =1.01;   //合法,但是会丢失小数点后面的值

(b)int &rval1 = 1.01; //错误 ,引用只能绑定在对象上,而不能与字面值或某个表达式的计算结果绑定在一起

(c)int &rval2 = ival;  //正确

(d)int &rval3;   //错误,引用必须初始化

 

练习2.16 

(a) r2 = 3.14159 ;//合法,将3.14159赋值给d

(b)r2=r1;     //合法,等价于d=i

(c)i = r2;    //合法,等价于i = d

(d)r1=d;    //合法等价于i=d

 

练习2.17

最终输出结果是10 10 , 因为在最后ri=10 改变了i的值,使i=10;

测试程序如下:

#include <iostream>

int main(){
    
    int i, &ri = i;
    i = 5; ri = 10;
    std::cout << i << " " << ri << std::endl;
    return 0;
}

 

相关文章: