1. 程式人生 > >練習2.15、2.16

練習2.15、2.16

double 警告 賦值 int amp 初始 不能 3.1 操作

2.15:下面的哪個定義是不合法的?為什麽?

(a)int ival=1.01;  (b)int &rvall=1.01;

(c)int &rval2=ival;  (d)int &rval3;

a)合法。但是會出現警告;

b)不合法。初始化引用的值必須是對象,而不能是字面值;

c)合法。

d)不合法。引用必須初始化。

2.16:考查下面的所有賦值然後回答:哪些賦值時不合法的?為什麽?哪些賦值是合法的?它們執行了什麽樣的操作?

int i=0,&r1=i;  double d=0,&r2=d;

a)r2=3.14159;  b)r2=r1;

c)i=r2;      d)r1=d;

a)合法。它將3.14159賦值給引用r2,實際上是對變量d進行賦值;

b)合法。r1是int類型i的引用,而r2是double類型的引用,會出現警告。

c)合法。i是int類型,引用r2是double類型,執行了窄化操作。

d)合法。與c)一樣。

練習2.15、2.16