对于不应该为负值的值,我总是使用unsigned int.但今天我 在我的代码中注意到了这种情况:
void CreateRequestHeader( unsigned bitsAvailable, unsigned mandatoryDataSize,
unsigned optionalDataSize )
{
If ( bitsAvailable – mandatoryDataSize >= optionalDataSize ) {
// Optional data fits, so add it to the header.
}
// BUG! The above includes the optional part even if
// mandatoryDataSize > bitsAvailable.
}
我应该开始用int而不是unsigned int来表示数字吗,即使它们