问答题X 纠错

参考答案:

分别输出false和true。注意转换的应用。(int)a实际上是以浮点数a为参数构造了一个整型数,该整数的值是1,(int&;)a则是告诉编译器将a当作整数看(并没有做任何实质上的转换)。因为1以整数形式存放和以浮点形式存放其内存数据是不一样的,因此两者不等。对b的两种转换意义同上,但是0的整数形式和浮点形式其内存数据是一样的,因此在这种特殊情形下,两者相等(仅仅在数值意义上)。
注意,程序的输出会显示(int&;)a=1065353216,这个值是怎么来的呢?前面已经说了,1以浮点数形式存放在内存中,按ieee754规定,其内容为0x0000803F(已考虑字节反序)。这也就是a这个变量所占据的内存单元的值。当(int&;)a出现时,它相当于告诉它的上下文:“把这块地址当做整数看待!不要管它原来是什么。”这样,内容0x0000803F按整数解释,其值正好就是1065353216(十进制数)。
通过查看汇编代码可以证实“(int)a相当于重新构造了一个值等于a的整型数”之说,而(int&;)的作用则仅仅是表达了一个类型信息,意义在于为cout<;<;及==选择正确的重载版。

查答案就用赞题库小程序 还有拍照搜题 语音搜题 快来试试吧
无需下载 立即使用

你可能喜欢

问答题

C++中的空类,默认产生哪些类成员函数?

参考答案:

问答题

以下代码中的输出语句输出0吗,为什么?

参考答案:不能。在默认构造函数内部再调用带参的构造函数属用户行为而非编译器行为,亦即仅执行函数调用,而不会执行其后的初始化表达式。...

问答题

以下代码能够编译通过吗,为什么?

参考答案:

str2定义出错,size2非编译器期间常量,而数组定义要求长度必须为编译期常量。

问答题

以下代码有什么问题?

参考答案:

三元表达式“?:”问号后面的两个操作数必须为同一类型。

问答题

以下代码有什么问题?

参考答案:

变量b定义出错。按默认构造函数定义对象,不需要加括号。

问答题

非C++内建型别 A 和 B,在哪几种情况下B能隐式转化为A?

参考答案:a. class B : public A { &helli...

问答题

以下代码中的两个sizeof用法有问题吗?

参考答案:函数内的sizeof有问题。根据语法,sizeof如用于数组,只能测出静态数组的大小,无法检测动态分配的或外部数组大小。...

问答题

以下三条输出语句分别输出什么?

参考答案:分别输出false,false,true。str1和str2都是字符数组,每个都有其自己的存储区,它们的值则是各存储区首...

问答题

编写一程序P7-781.C实现以下功能
从键盘上输入5个字符串(长度小于80),对其进行升序排序并输出。

参考答案:




问答题

在c语言库函数中将一个字符转换成整型的函数是atol()吗,这个函数的原型是什么?

参考答案:

赞题库

赞题库-搜题找答案

(已有500万+用户使用)


  • 历年真题

  • 章节练习

  • 每日一练

  • 高频考题

  • 错题收藏

  • 在线模考

  • 提分密卷

  • 模拟试题

无需下载 立即使用

版权所有©考试资料网(ppkao.com)All Rights Reserved