【发布时间】:2011-03-18 22:42:35
【问题描述】:
根据 C++ 标准,指针 T* 的 reinterpret_cast 指向其他类型的指针 Q* can change or not change the pointer value,具体取决于实现。
我很感兴趣 - 是否有任何 C++ 实现的真实示例,其中使用 reinterpret_cast 将指针转换为其他指针类型会更改指针?那里发生了什么变化以及为什么发生变化?
【问题讨论】:
-
你的意思是,指针指向的“改变值”?
-
@akira: 不,改变指针本身的值
-
你的意思是:
T* t = 0x13; Q* q = 0x42; t = reintrepret_cast<Q*>(q);产生t != 0x42? -
@akire:我猜是的。我自己也不确定,这就是我问的原因。您可能有兴趣阅读链接问题的答案 - 它们启发了我提出这个问题。
-
所以你不确定你在问什么? :) 我认为删除的答案是由于问题有点不清楚。是的,链接的问题很有趣。
标签: c++ compiler-construction casting