static_cast和reinterpret_cast似乎都可以很好地将void*转换为另一种指针类型。是否有一个很好的理由来偏爱其中一个?

是否有理由更喜欢static_cast<>而不是C风格强制转换?它们相等吗?速度有什么不同吗?

我听说static_cast函数应该优于c风格或简单函数风格的强制转换。这是真的吗?为什么?