第5章 表示式

2021-06-02 20:08:59 字數 1152 閱讀 2366

不想從第一章開始看起,看目錄覺得對第五章中的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 的優先順序較高,...