铸造是最好的解决方案

Is casting the best solution here?

本文关键字:解决方案      更新时间:2023-10-16

我想知道这里是否铸造是最好的解决方案:

这是函数原型:

void function(unsigned char * data)

这就是我打算如何使用它(nSize是从):

unsigned int nSize = 15;
function( (unsigned char*) &nSize);

假设函数原型是固定的,并且nSize必须是int,是的,这对我来说是正确的

是的,在您的情况下,强制转换似乎是必要的。

注意,使用c++风格的命名强制转换比使用C风格的强制转换更可取。在您的情况下,reinterpret_cast是正确的选择。注意,这是一个危险的行为,详见这里。

function(reinterpret_cast<unsigned char*>&nSize);
相关文章: