【发布时间】:2010-11-14 17:28:20
【问题描述】:
可能重复:
Should I use static_cast or reinterpret_cast when casting a void* to whatever
通常,尤其是在 Win32 编程中,需要从一种不透明类型转换为另一种。例如:
HFONT font = cast_here<HFONT>( ::GetStockObject( SYSTEM_FONT ) );
static_cast 和 reinterpret_cast 在这里都适用并且具有完全相同的效果,因为 HFONT 是一个指向专门用于定义 HFONT 的虚拟结构的指针,而 GetStockObject() 返回的 HGDIOBJ 是一个 void* 指针。
哪一个 - static_cast 或 reinterpret_cast - 更可取?
【问题讨论】: