12
什么时候使用reinterpret_cast?
我对reinterpret_castvs 的适用性不感到困惑static_cast。根据我的阅读,一般规则是在编译时可以解释类型的情况下使用静态强制转换,因此使用单词static。这是C ++编译器内部也用于隐式强制转换的强制转换。 reinterpret_cast适用于两种情况: 将整数类型转换为指针类型,反之亦然 将一种指针类型转换为另一种。我得到的一般想法是,这是不可移植的,应该避免。 我有点困惑的是我需要的一种用法,我从C调用C ++,C代码需要保留在C ++对象上,因此基本上它包含一个void*。应该使用哪种强制转换在void *和类型之间进行转换? 我已经看到了这两个的使用static_cast和reinterpret_cast?虽然从我一直阅读的内容来看static,由于转换可以在编译时进行,所以看起来更好。虽然它说用来reinterpret_cast从一种指针类型转换为另一种指针类型?