繁体   English   中英

在C ++中将double *转换为int *

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM