哪种演员阵容从Type*到void*?

sha*_*oth 5 c++ pointers casting visual-c++

在C++中,对于任何数据类型,我都可以执行以下操作:

Type* typedPointer = obtain();
void* voidPointer = typedPointer;
Run Code Online (Sandbox Code Playgroud)

该投的时候我给你进行Type*void*?这是一样的吗?

Type* typedPointer = obtain();
void* voidPointer = reinterpret_cast<void*>( typedPointer );
Run Code Online (Sandbox Code Playgroud)

还是其他一些演员?

AnT*_*AnT 4

这是一个标准的指针转换。由于它是标准转换,因此不需要任何显式转换。

如果您想通过显式强制转换来重现该转换的行为,那么应该是static_cast,而不是reinterpret_cast

static_cast是5.2.9/2中给出的定义,static_cast可以执行所有可以隐式执行的转换。