我对reinterpret_cast vs static_cast的适用性有点困惑。据我所知,一般规则是当类型可以在编译时解释时使用静态强制转换,因此有了static这个词。这也是c++编译器内部用于隐式类型转换的类型转换。
# eyz0适用于两种情况:
我有点困惑的地方是我需要的一种用法,我从C调用c++, C代码需要保持c++对象,所以基本上它持有void*。应该使用什么类型转换在void *和类类型之间?
我已经看到使用static_cast和reinterpret_cast?虽然从我所读到的似乎static更好,因为强制转换可以在编译时发生?虽然它说使用reinterpret_cast从一种指针类型转换到另一种?