(int&)a是什么意思
2008-11-02 10:46
369 查看
有如下程序
double a=1.0f;
cout<<(int&)a<<endl;
输出为0
其实(int&)a就是将a转换为int型的引用,输出的话只是将double型1.0的前4个字节解释为int型处理,所以是0;
如果 int&b=(int&)a; 这样定义的话就好理解了,其实与指针类型转换是一样的。如果a是float型的话输出就不是0了,它将float型的二进制码直接解释为int了。double和float的二进制表示具体方式在此就不说了。
double a=1.0f;
cout<<(int&)a<<endl;
输出为0
其实(int&)a就是将a转换为int型的引用,输出的话只是将double型1.0的前4个字节解释为int型处理,所以是0;
如果 int&b=(int&)a; 这样定义的话就好理解了,其实与指针类型转换是一样的。如果a是float型的话输出就不是0了,它将float型的二进制码直接解释为int了。double和float的二进制表示具体方式在此就不说了。
相关文章推荐
- 对于这个函数const int func(const int& a) const声明中,三个const分别是什么意思?
- (int&)a是什么意思
- 程序猿之---C语言细节9(宏定义、max(a,b)宏定义细节、大小端判断、(int&)a什么意思)
- (int&)a是什么意思
- (int&)a是什么意思
- (int&)a,你知道是什么意思吗?
- 声明中"AutoEventWireup"、"Codebehind"、"Inherits"分别表示什么意思?
- <a>标签中href=\"javascript:;\"表示什么意思??
- PHP在变量前面加&是什么意思?
- php中&符号什么意思
- &amp;什么意思?
- rel='stylesheet' 什么意思?
- php中&符号什么意思
- cout<<endl;什么意思?
- ps aux命令显示的状态列中的Ss+,Rsl,R+,S<sl都是什么意思呢?(转)
- __extension__ typedef int __ssize_t;是什么意思
- asp.net中,<%#%>,<%=%>和<%%>分别是什么意思,有什么区别
- @suppressWarnings("unchecked") java 中是什么意思
- C#中的 int?是什么意思
- function &instance(){} &是什么意思?