什么时候使用重新解释?
我对reinterpret_cast
VSstatic_cast
..根据我所读到的,一般规则是在编译时可以解释类型时使用静态强制转换,因此单词static
..这也是C+编译器内部用于隐式强制转换的强制转换。
reinterpret_cast
S适用于两种情况,即将整数类型转换为指针类型,反之亦然,或者将一种指针类型转换为另一种。我的一般想法是,这是不可移植的,应该避免。
我有点困惑的地方是我需要的一种用法,我从C中调用C+,C代码需要保留C+对象,所以它基本上包含一个void*
..应该使用什么强制转换来在void *
那班级类型呢?
我见过两者的用法static_cast
和reinterpret_cast
?虽然从我一直读到的情况看static
如果转换可以在编译时发生,会更好吗?虽然它说要用reinterpret_cast
从一种指针类型转换为另一种类型?