【发布时间】:2011-12-10 19:57:18
【问题描述】:
我如何知道重新解释转换如何在 GCC 编译器上工作?文档中提到了吗?如果存在,我可以知道任何参考或链接吗?
【问题讨论】:
-
我相信
reinterpret_cast的行为是由标准定义的,而不是由特定实现定义的。你到底想知道什么? -
它不是特定于编译器的,无论是GCC编译器还是VS编译器,它的工作方式都是一样的。它是由C++标准定义的,编译器不能改变它的行为。
-
什么?标准中有很多实现定义的行为。
reinterpret_cast是其中具有实现定义行为的功能之一。 标准显式允许实现定义其一些行为。 -
例如:如果我将指针转换为整数,在标准中会提到“reinterpret_cast 执行的映射是实现定义的”,所以我是否必须查看编译器如何执行映射?
-
是的。 “定义的实现”具体意味着该标准没有指定应该发生什么,但符合标准的实现(编译器等)将选择特定行为并记录(定义)它。
标签: c++ gcc reinterpret-cast