【发布时间】:2011-03-05 02:50:04
【问题描述】:
因此,如果您从 Void* 转换为 Type* 或从 Type* 转换为 Void*,您应该使用:
void func(void *p)
{
Params *params = static_cast<Params*>(p);
}
或
void func(void *p)
{
Params *params = reinterpret_cast<Params*>(p);
}
对我来说 static_cast 似乎更正确,但我看到两者都用于相同的目的。此外,转换的方向是否重要。即我是否仍应将 static_cast 用于:
_beginthread(func,0,static_cast<void*>(params)
我已阅读有关 C++ 样式转换的其他问题,但我仍然不确定这种情况的正确方法是什么(我认为它是 static_cast)
【问题讨论】:
标签: c++ casting static-cast reinterpret-cast