471
技術社區[雲棲]
C++ Primer經典書目閱讀之五:表達式
表達式
1. 算術操作符
算術操作符主要有:
1.對兩個整數做除法,結果仍為整數,如果它的商包含小數部分,則小數部分會被截除;
2.求餘操作的操作數隻能為整型;
3.如果兩個操作數為正,除法和求餘操作的結果也是正數;如果兩個操作數的結果都是負數,除法操作的結果為正數或零,而求麼操作的結果則為負數或零;
2.關係操作符和邏輯操作符
關係操作符主要有:
1.邏輯與和邏輯或操作符綜述先計算其左操作數,然後再計算其右操作數。隻有在僅靠做操作數的值無法確定邏輯表達式的結果時,才會求解其又操作數。常稱這種求值策略為“短路求值”。
2.不應該串聯使用關係操作符
If(i < j < k),隻要k大於1上式就為真
if(I < j && j < k)才為上式的正確寫法,數學意義為i<j<k
3.位操作符
位操作符主要有:
1.對於位操作符,由於係統不能確保如何處理其操作數的符號位,所以強烈建議使用unsigned整形操作數。
4.賦值操作符
5.自增和自減操作符
1.前置自增和後置自增操作都是對操作數加1,不同的是前置表達式的值是加1後的值,後置表達式的值是未加1的值,前置自減和後置自減操作同理。
6.箭頭操作符
7.條件操作符
1.條件操作符是C++中唯一的三元操作符,它允許將簡單的if-else判斷語句嵌入表達式中。
8.sizeof操作符
1.Sizeof操作符的作用是返回一個對象或類型名的長度,返回值的類型為size-t,長度單位是字節。
2.使用sizeof的結果部分地一來所涉及的類型:
對char類型或值為char類型的表達式做sizeof操作保證得1.
對引用類型做sizeof操作將返回存放此引用類型對象所需的內存空間大小;
對指針做sizeof操作將返回存放指針所需的內存大小;注意,如果要獲取該指針所指向對象的大小,則必須對該指針進行解引用;
對數組做sizeof操作等效於將對其元素類型做sizeof操作的結果乘上數組元素的個數。
9.逗號操作符
逗號表達式是蟻族由逗號分隔的表達式,這些表達式從左向右計算。逗號表達式的結果是其最右邊表達式的值。
10符號表達式的求值
操作符的優先級為:
1.符合表達式的求值根據符號的優先級計算
2.圓括號優先於優先級之上
3.一個表達式裏,不要在兩個或更多的子表達式中對同一對象做自增或自減操作。
11.new和delete表達式
1.如果指針指向不是用new分配的內存地址,則在該至鎮上使用delete是不合法的
2.如果指針的值為0,則在其上做delete操作是合法的,不過沒有任何意義;
3.在delete指針之後,應立即將該指針置為0,這樣就可以清楚的表明指針不再指向任何對象,避免懸垂指針的存在。
12.類型轉換
最後更新:2017-04-04 07:03:41