我一直想知道以下情况。
让L_1 > L_2
是无符号值(在这种情况下size_t
)。也A
属于同一类型。
此测试是否有效:
if( A > (L_1 - L_2) )
{
// do stuff
}
还是相当于
if( 0 > (L_1 - L_2) - A )
{
// do stuff
}
或者
if( 0 < A - (L_1 - L_2) )
{
// do stuff
}
这简化为
if(!(A - (L_1 - L_2) ))
{
// do stuff
}
既然一切都是unsigned
。最后一件事会尽快“做事” A != L_1 - L2
,这不是我想要的。