C++ Primer學(xué)習(xí)筆記——基本類型
?c++的基本內(nèi)置類型包含算數(shù)類型和空類型。
算數(shù)類型有整形,浮點型,字符,布爾類型。
空類型,即void。
其中,整形和浮點型包含帶符號和不帶符號(unsigned)。帶符號的類型可以表示正數(shù)、負數(shù)和0,無符號類型只能表示0和正數(shù)。
正常的情況下,字符類型一般占一個字節(jié),即8Bits,unsigne char一般表示整型0-255的范圍,char一般表示為-127-127的范圍。

類型轉(zhuǎn)換包括隱式轉(zhuǎn)換和顯式轉(zhuǎn)換兩種,這里先講隱式轉(zhuǎn)換,當(dāng)中比較重要的一點就是,當(dāng)我們給一個無符號類型的變量賦一個超出它本身范圍的值時,其結(jié)果會變成初始值對該無符號類型范圍最大值取模后的余數(shù)。例如,-1賦給unsigned時,-1%256=255,結(jié)果為255。
舉一些比較有意思的例子:
當(dāng)上面的u與i相加時,i會轉(zhuǎn)變成無符號類型unsigned int,把-42賦給無符號類型整數(shù),然后再與u相加,得出一個非預(yù)期的結(jié)果,具體需要看機器是多少位的。
上面的結(jié)果是:循環(huán)永遠不會結(jié)束。因為在循環(huán)到-1時,unsigned沒法表示-1,因此會將-1轉(zhuǎn)換成unsigned int類型,得出一個很大的整數(shù),最后導(dǎo)致死循環(huán)。
切勿混用帶符號類型和無符號類型

字面值常量表示的是值的本身,如42表示整型字面量,true表示bool型字面量
整型字面量可以用十進制,八進制(0開頭),十六進制(0x或0X開頭)來表示,如42,042,0xF等。?
字符串字面值結(jié)尾會帶'\0'來標(biāo)識字符串結(jié)束,單引號用于表示單個字符,雙引號用于表示單個字符串。?
轉(zhuǎn)義字符用于表示一類特殊含義的字符和一類特殊標(biāo)點符號的字符(?等)

