我有以下函数,它将字节数组作为unsigned char*
浮点数据。
void expectsFloatData(unsigned char* floatData, int floatCount)
{
//Does something
memset(floatData, 0, floatCount * sizeof(float));
}
float data[4];
expectsFloatData(???, 4);
这是否证明使用合理reinterpret_cast<unsigned char*>(data);
?
由于我只是更改了编译器所见的变量类型,因此我不必担心它将如何在实际字符(小尾数与大尾数以及其他平台特定的东西)的上下文中解释数据。浮点数的字节仍然存在,对吗?
是的,reinterpret_cast
这里是合适的工具。如果function参数为float*
或void*
(例如,使用void*
什么memset
,以便能够接受和覆盖任何类型的缓冲区),那就更好了。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句