18 May 2023

C++ 核心指南目录

“Use unsigned types for bit manipulation”

理由

无符号类型支持比特位操作,不会因为符号位导致出乎意料的情况。

比如

unsigned char x = 0b1010'1010;
unsigned char y = ~x;   // y == 0b0101'0101;

注意

无符号类型在求模运算的时候也很有用。当你要进行求模运算,如果你需要依赖于 wraparound 行为请添加必要的注释说明。大部分程序员都会对此类代码很吃惊。