此类表达式包括对给定类型的最大值应用 &
运算符,对零以及移零应用 or
运算符。 出现此类表达式,可能是因为自动重构没有一直持续到完成,而且不太可能是出于原本的意图。
示例:
// 警告:运算毫无意义,可以替换为 `flags`
// 0xFFFF_FFFF 是一个整数的最大值,并且这两个文字都被视为
// 32 位整数文字。
int bits = flags & 0xFFFF_FFFF;
// 警告:运算毫无意义,可以替换为 `bits`
// 包含 0 的 OR 运算始终输出另一个操作数。
int or = bits | 0x0;
// 警告:运算毫无意义,结果始终为 0
int xor = or ^ or;