我是靠谱客的博主 负责电话,最近开发中收集的这篇文章主要介绍C++类型转换符介绍,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

举例:

 
  
  1. #include <iostream>  
  2. using namespace std;  
  3.  
  4. int main()  
  5. {  
  6.     int n = 9;  
  7.  
  8.     long d = reinterpret_cast<long&> (n);  
  9.     double f1 = static_cast<double> (n);  
  10.     double f2 = reinterpret_cast<double&> (n);  
  11.  
  12.     cout<<"d = "<<d<<endl;  
  13.     cout<<"f1 = "<<f1<<endl;  
  14.     cout<<"f2 = "<<f2<<endl;  
  15.  
  16.     getchar();  
  17.     return 0;  

输出:

d =  9

f1 =  9

f2 =  -9.25596e+061

解释: 

    将一个变量从 int 转换到 double。 这些类型的二进制表达式是不同的。

    reinterpret_cast 操作符修改了操作数类型,但仅仅是重新解释了给出的对象的比特模型而没有进行二进制转换。在进行计算以后, f2包含无用值. 这是因为 reinterpret_cast 仅仅是复制 n 的比特位到f2, 没有进行必要的分析。

    要将整数 9 转换到双精度整数 9,static_cast 需要正确地为双精度整数 d 补足比特位。因此其结果为 9。 

转载于:https://blog.51cto.com/qsjming/530554

最后

以上就是负责电话为你收集整理的C++类型转换符介绍的全部内容,希望文章能够帮你解决C++类型转换符介绍所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部