Reinterpret_cast强制类型转换

它是4中C++强制类型转换中最为强力的,可以实现任意两个类型之间的转换,并不限于指针,但是源类型必须是指针。
C++ Primer Plus说目的类型大小要足以装下源类型,而且函数指针与数据指针之间不能互相转换,但是经我验证,前者并不成立不成立。
如下图所示:


因为char是指针它占用4byte,而char占用1byte,此时1byte装不下char,但是转换成功了。虽然事实如此,但是C++的确不支持这种转换的,而C却支持。
再看下图:

如上图所示把一个函数指针转换成数据类型果然失败了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 题目类型 a.C++与C差异(1-18) 1.C和C++中struct有什么区别? C没有Protection行为...
    阿面a阅读 7,769评论 0 10
  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 3,533评论 3 44
  • 1.面向对象的程序设计思想是什么? 答:把数据结构和对数据结构进行操作的方法封装形成一个个的对象。 2.什么是类?...
    少帅yangjie阅读 5,072评论 0 14
  • 一 Java 枚举7常见种用法DK1.5引入了新的类型——枚举。在 Java 中它虽然算个“小”功能,却给我的开发...
    欢乐时光欢乐你我阅读 891评论 0 6
  • 天欲幕 雪花随性竟飞舞 农家小屋 几盏青灯 此时更需一杯酒 欢声笑语皆自来 是冬 赋予雪以生命 而雪 温柔了苍茫的...
    夏风流萤阅读 400评论 6 5