在这里铸造最好的解决方案?

时间:2013-06-05 07:32:38

标签: c++ pointers casting

我想知道在这里投射是否是最好的解决方案:

这是函数原型:

void function(unsigned char * data)

我打算使用它(nSize被读取):

unsigned int nSize = 15;

function( (unsigned char*) &nSize);

2 个答案:

答案 0 :(得分:1)

假设函数原型是一成不变的,nSize必须是一个int,是的,看起来对我来说是正确的。

答案 1 :(得分:1)

是的,在你的情况下,演员似乎是必要的。

请注意,使用C ++风格的名为cast比C风格的强制转换更受欢迎。在您的情况下,reinterpret_cast是正确的选择。请注意,这是一种危险行为,有关详细信息,请参阅here

function(reinterpret_cast<unsigned char*>&nSize);