不想從第一章開始看起,看目錄覺得對第五章中的bitset和sizeof有點興趣,嗯,研究一下。
1、if(ival),ival作為乙個條件表示式,非0時,if條件成立。表示式結果是右值,可讀取結果,不能對它進行賦值。
2、短路求值:邏輯與和邏輯或總先計算左運算元。且只在左運算元無法確定結果時,才會求解右運算元。
3、bool:false用0表示,true用1表示。
4、賦值操作具有右結合性。
5、學會習慣使用這種表達方式,if(42==i)
6、sales_item *sp = &item1; *sp.same_isbn(item2); //error,應該為(*sp).same_isb(item2);或者sp->same_isb(item2);
7、sizeof返回型別為size_t,長度的單位是位元組。
8、逗號表示式從左向右計算,結果是其最右邊表示式的值,如果最右邊運算元是左直,則逗號表示式也是左直。
9、c++保證刪除0值的指標是安全的。刪除指標後,該指標為懸垂指標,懸垂指標指向曾經存放物件的記憶體,但該物件已經不再存在了。一旦刪除指標所指向的物件,立即將指標置為0,這樣就非常清楚地表明指標不再指向任何物件。
10、最簡單的算術轉換為整型提公升,轉換本質上依賴於機器。
2.1.1節 整型:
1、char型別為單機器位元組byte。wchar_t用於擴充套件字符集,如漢字和日語。
2、c++的內建型別與其在計算機的儲存器中的表示式密切相關。 通常8位的塊作為乙個位元組。32位或4個位元組作為乙個字(word)。
4、signed由編輯器自由決定如何用位來表示。符號位0代表正數。
5、超出其範圍的值賦給乙個指定型別的物件,結果取決於這種型別是signed還是unsigned。unsigned:編輯器對數求模,然後取所得值。例如:-1賦給8位unsigned char,結果是255。
6、算術型別的儲存空間依機器而定。儲存空間指用來表示該型別的二進位制位數。
型別最小儲存空間(bit)
bool
-char
8wchar_t
16short
16int
16long
32float
6位有有效數字
double
10位有效數字
long double
10位有效數字
第5章 表示式 4
5.12 型別轉換 c 並不是把兩個不同型別的值直接加在一起,而是提供了一組轉換規則,以便在執行算術操作之前,將兩個運算元轉換為同一資料型別。這些轉換規則由編譯器自動執行,無需程式設計師介入 有時甚至不需要程式設計師了解。因此,它們被稱為隱式型別轉換 implicit type conversion...
第 5 章 迴圈和關係表示式
for 迴圈包括 迴圈的初始化 loop initialization 迴圈測試 loop test 迴圈體 loop body 迴圈更新 loop update 示例 1 for i 0 i 5 i cout i endl 迴圈的初始化 loop initialization i 0 迴圈測試 l...
第4章 表示式
解引用運算子生成左值,所以decltype p 的結果是 int 取位址運算子生成右值,所以decltype p 的結果是 int cin v1 v2 先讀入v1,再讀入v2如果表示式指向並修改了同乙個物件,將會引發錯誤並產生未定義的行為。cout v1 v1 cout 42 10 的優先順序較高,...