标题很不言自明。我想将 typedouble *
转换为 type int *
。我意识到我可以使用 C 类型(int *)
转换来做我想做的事情,但是有没有办法使用 C++ 类型转换 iestatic_cast
等来进行这种转换?
问问题
1357 次
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 回答