练习2.15:、下 面的哪个定义是不合法的?为什么?
(a) int ival = 1.01 ;
(b) int &rval1 = 1.01;
(c) int &rval2 = rval;
(d) int &rval3;
答案:
(a)合法
(b)合法
(c)不合法,引用不是对象
(c)不合法,引用必须初始化
练习2.16:考查下面的所有赋值然后回答:哪些赋值是不合法的?为什么?哪些赋值是合法的?它们执行了什么样的操作?
int i =0,&r1= i;
doubled=0,&r2=d;
(a)r2 = 3.14159;
(b)r2 = r1;
(c)i=r2;
(d)r1 = d;
答案:
(a)合法,给d赋值操作
(b)合法,将i的值赋值给d
(c)合法,将d的值赋值给i
(d)合法,自己赋值自己。
练习2.17:执行下面的代码段将输出什么结果?
int i,&ri =i;
i = 5;
ri=10;
std::cout<<i<<” ”<<ri<<std::endl;
答案:输出10 10(换行)
版权声明:本文为xxtnt原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。