跳转到内容

C++ 编程

来自维基教科书,开放世界中的开放书籍

reinterpret_cast 关键字用于将一种类型逐位转换为另一种类型。任何指针或整型都可以使用 reinterpret_cast 转换为任何其他类型,这很容易导致误用。例如,使用 reinterpret_cast,人们可能会将一个整数指针不安全地转换为一个字符串指针。它应该用于在不兼容的指针类型之间进行转换。

语法
    TYPE reinterpret_cast<TYPE> (object);

reinterpret_cast<>() 用于所有非可移植的强制类型转换操作。这使得在将应用程序从一个操作系统移植到另一个操作系统时更容易找到这些非可移植的强制类型转换。

reinterpret_cast<T>() 将更改表达式的类型,而不会更改其底层位模式。这对于将特定类型的指针强制转换为 void*,然后随后再强制转换为原始类型很有用。

int a = 0xffe38024;
int* b = reinterpret_cast<int*>(a);

华夏公益教科书