我只是通过一堆 C++ 面试问题来确保没有什么明显的我不知道。到目前为止,我还没有发现任何我不知道的东西,除了这个:
long value;
//some stuff
value &= 0xFFFF;
问题是“这段代码有什么问题?” 并暗示这与目标架构有关。
除非答案只是“未初始化值”,否则我看不出有任何问题。据我所知,它只是掩盖了值的 2 个最低有效字节,并且long
保证至少是 2 个字节,所以那里没有问题。
有没有long
可能在目标架构上可能只有 2 个字节,而您可能会丢失符号位?或者也许 0xFFFF 是一个int
并且int
只有 2 个字节?
提前致谢。