[英]Casting double* to int* in C++
标题非常自我解释。 我想将类型double *
转换为类型int *
。 我意识到我可以使用C-type强制转换(int *)
来做我想要的,但有没有办法使用C ++类型转换,即static_cast
等进行此转换?
您可以使用reinterpret_cast
执行此reinterpret_cast
:
int* veryUnsafePointer = reinterpret_cast<int*>(myDoublePointer);
请注意,这并不会返回指向的double
的整数表示形式; 相反,整数的值将取决于double
的二进制表示和系统的endianness。
希望这可以帮助!
您需要使用reinterpret_cast<int *>(ptr)
。
我希望你真的知道你在做什么。 没有理由做这样的演员,特别是当它可能是一个double
和一个int
是不同的大小。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.