手机版

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

时间:2025-07-09   来源:未知    
字号:

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文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)