C++技巧(C++編程中盡量少使用unsigned)

字號:

unsigned 可能一部分人對于非負(fù)數(shù)習(xí)慣使用unsigned類型:一來是使的代碼清晰易懂(有點類似于const,但問題多多,下面會講到),二來是可以表達(dá)更大的數(shù)(這種情況應(yīng)當(dāng)比較少吧)。
    考試大提示不使用的原因:
    1 如果從一致性來講,對于自己確認(rèn)(只是自己確認(rèn))為非負(fù)數(shù)加unsigned,那對于for( int i=0; i<100;i++)中的i也應(yīng)當(dāng)加,但事實上很少有人會在這添加吧。
    2 unsigned類型的變量,在進(jìn)行比較操作時經(jīng)常出現(xiàn)比較怪異的問題(對于老手可能用詞不當(dāng)),如:
    unsigned int i=10;
    if(i-100>0)
    {
    cout<<"false"<    }
    else
    {
    cout<<"true"<    }
    結(jié)果:false
    有時候此類問題很隱蔽,上段時間就碰到過,也是那次之后萌發(fā)了少用此類型的念頭。
    3 unsigned確實比int可表示的范圍更大,但又能大多少呢?要大不如申明為long型。
    4 直接用int少打幾個字母。