3
我有一个局部变量的函数是静态的&常量,函数是否是可重入的?具有常量和静态局部变量的函数,使函数重入?
这是代码:
void foo(unsigned char *pucBuffer,
int iBytes,
unsigned int *puiOUT)
{
static const long rg_uliLUT[4] = {0x00000000, 0x77073096, 0xee0e612c,
0x990951ba};
while(iBytes--)
{
*puiOUT = (*puiOUT >> 8)^rg_uliLUT[(*puiOUT & 0x03)^*pucBuffer++];
}
}
预先感谢您:d
不,这是因为const不强制不可变性。 –
@Manoj:当然'const'确实强制不变性?!有一些“黑客”可以绕过它(例如,将地址和转换为非const指针),但假设没有有趣的业务,程序不能更改const变量。 – Jimbo
@Jimbo - 我的意思是一样的。 –