因此,如果您从 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)