表達式求值與副作用&左值

  C++爲每個運算符規定了一個優先級和結合性,以控制各運算的順序, 確保表達式計算的一致性。利用括號可以改變表達式的運算順序。
  左值是能出現在賦值表達式左邊的表達式。
  如果運算結果超過了該數據類型能夠表達的範圍,則C++進行截斷處理。
  參加運算的兩個操作數類型不同時, C++將自動作隱式類型轉換,但有時侯,不得不作強制類型轉換。
  前增量操作符通知C++編澤器先增加變量的值,然後再使用變量; 後增量操作符通知編譯器先使用變量,然後再增加該變量值。
  關係運算中,=與==經常要搞錯。邏輯運算符&&和||都是短路運算符。
  表達式和語句的一個重要差別是:表達式具有值,而語句是沒有值的。
  副作用是一個表達式中的嵌套表達式,在提供值的同時,又對某處變量進行修改所引起的。對於副作用,由於其運算結果的不可預料性,所以要儘量避免。
  然而,副作用並不是什麼都不好,在函數中,正是利用了副作用才使許多代碼更精簡和可讀。事實上函數是產生副作用的溫牀。指針是最大的“罪魁禍首”。當學習了函數的內部實現機制和指針之後,讀者會有所體會。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章