C++Primer中文版(第四版)题解整理(18)

时间:2025-05-06

C++Primer题解

合法赋值的作用:

(a)将一个double型字面值赋给int型变量ival,发生隐式类型转换,ival得到的值为3。

(b)将int值1赋给变量ival。

(c)将int值1赋给变量ival。

习题2.26

(a)中的定义和(b)中的赋值存在哪些不同?哪些是非法的?

(a)intival=0;(b)ival=ri;

constint&ri=0;ri=ival;

【解答】

intival=0;定义ival为int变量,并将其初始化为0。

constint&ri=0;定义ri为const引用,并将其绑定到右值0。

ival=ri;将0值赋给ival。

ri=ival;试图对ri赋值,这是非法的,因为ri是const引用,

不能赋值。

习题2.27

下列代码输出什么?

inti,&ri=i;

i=5;ri=10;

std::cout<<i<<""<<ri<<std::endl;

【解答】

输出:

1010

ri是i的引用,对ri进行赋值,实际上相当于对i进行赋值,所以输出i和ri的值均为10。

习题2.28

编译以下程序,确定你的编译器是否会警告遗漏了类定义后面的分号。classFoo{

//empty

}//Note:nosemicolon

intmain()

{

return0;

}

如果编译器的诊断结果难以理解,记住这些信息以备后用。

【解答】

在笔者所用的编译器中编译上述程序,编译器会给出如下错误信息:

errorC2628:'Foo'followedby'int'isillegal(didyouforgeta';'?)(第4行)

C++Primer中文版(第四版)题解整理(18).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219