unsigned int,无符号整数,多好的名字,但它的名字与其本身多少有些不符的味道:
如果 unsigned int a; ,那么,你无法通过测试 if(a>0)测试出你赋给a的值到底是否是正的,因此,通常我们宁愿使用 int b; 配合 assert(a>=0);
不过,由于项目的需要(基于windows的,使用了太多的DWORD,不过DWORD的定义通常为unsigned long),其中还是使用了一些unsigned int,我发现项目中通常要求赋一个很大(最大)的初始值,用什么? 0xffffffff嘛? 我都记不住0x后面应该有几个f,况且,我不能保证系统一定是32位的;
还是用 unsigned int a= -1;吧,就让无符号整数为自己也做点贡献吧。