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;吧,就讓無符號整數為自己也做點貢獻吧。