2

标题很不言自明。我想将 typedouble *转换为 type int *。我意识到我可以使用 C 类型(int *)转换来做我想做的事情,但是有没有办法使用 C++ 类型转换 iestatic_cast等来进行这种转换?

4

2 回答 2

5

您可以使用以下命令执行此转换reinterpret_cast

int* veryUnsafePointer = reinterpret_cast<int*>(myDoublePointer);

请注意,这不会给您返回double被指向的整数表示;相反,整数的值将取决于double系统的二进制表示和字节序。

希望这可以帮助!

于 2013-10-26T01:31:26.587 回答
5

你需要使用reinterpret_cast<int *>(ptr).

我希望你真的知道你在做什么。几乎没有理由进行这样的演员阵容,尤其是当 adouble和 anint的大小可能不同时。

于 2013-10-26T01:31:28.377 回答