2.1.1 整型
signed:帶符號的,unsigned:無符號的。unsigned 後不加其他類型說明符意味着unsigned int。
signed 最常見的策略是用一位作爲符號位。符號位是1,值爲負數;符號位是0,值爲0或者正數。
C++中,把負值賦給unsigned對象完全是合法的,結果是該負數對該類型的取值個數求模後的值。
2.1.2 浮點型
float 只能保證6位有效數字,double可以保證10位有效數字。
2.3.3 定義對象
初始化包括複製初始化和直接初始化,複製初始化用等號(=),直接初始化用括號。在C++的理解中初始化不是賦值。初始化時創建變量病給他賦予初始值,而賦值則是擦出對象的當前值並用新值代替。
2.4 const限定符
非const變量默認爲extern。要使用const變量能夠在其他的文件中訪問,必須顯式的指定爲extern。
2.4 const引用
"const引用"的意思是“指向const對象的引用”,類似的“非const引用”表示指向非const類型的引用。
3.2
c標準庫頭文件命名爲name.h,而C++版本則命名爲cname,少了後綴.h文件的內容是一樣的,只是採用了更適合C++程序的形式。特別地,cname頭文件中定義的名字都是定義在命名空間std內,而.h的版本中的名字卻是不一樣的。
3.3.2
vector中for循環的判斷條件用!=而不是用<來測試vector下標值是否越界。C++程序員習慣於優先使用!=而不是<來編寫循環判斷條件。
4.1.2
在用下邊訪問元素的時候,vector使用vector::size_type 作爲下標的類型,而數組下標的正確類型則是size_t。
4.2.2
把int型變量賦值給指針是非法的,儘管此int型變量值爲0,但允許把數值0或在外編譯可獲得0值得const量付給指針
4.2.4
兩個指針減法操作的結果是標準庫類型ptrdiff_t的數據。
4.3
C++從C語言繼承下來的一種通用結構是C風格字符串,而字符串字面值就是該類型的實例。實際上,C風格字符串不能確切的歸結爲C語言類型,也不能歸結爲C++類型,而是以空字符串null結束的字符串數組。
5.8
對指針進行sizeof操作將返回存放指針所需的內存大小。注意,如果是要獲取該指針所指向對象的大小,則必須對該指針進行解引用。
5.12
string s;
while(cin>>s)
while循環條件應爲bool類型的值,但此時給出的卻是istream類類型的值,於是istream類型的值應轉化爲bool類型。將istream類型轉化爲bool類型意味着要檢驗流的狀態。最後一次讀cin的嘗試是成功的,則流的狀態將導致上述類型轉化爲bool類型後獲得true值。