所以,如果你要从Void* 转换成 Type* 或者从Type* 转换成 Void*,应该使用哪个呢?
对我而言,static_cast 似乎更加正确,但我也看到两者都用于同一目的。此外,转换的方向是否重要?即,对于以下情况,我是否仍应使用 static_cast:
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)