C++ Primer學習總結 第4章 運算式,primer第4章

來源:互聯網
上載者:User

C++ Primer學習總結 第4章 運算式,primer第4章

 第4章 運算式


1.    decltype作用於左值對象時,返回的是該對象的參考型別. 作用於右值對象時,返回的是該對象的類型.



2.    求值順序.


C++中只有&& || ?: , 4種運算子是先左後右求值的.

 

3.    一元加號或減號運算子作用於數值:


會提升當前數值的類型,比如short變成int型

 

4.    m%(-n) 與(-m)%n 與 (-m)%(-n) 的結果分別是:


注意:模的加號或減號沒有任何影響, m的加號或減號決定結果的正負.

 

5.     關係運算子滿足左結合律:

 


6.     遞增遞減運算子(如++x,x++)在什麼時候是不可替換(成x+1的形式)?

在用於那些不支援算術運算的迭代器時,是必須的.

 

7.    ++,--運算子,前置版本返回左值對象,後置版本返回右值對象.


 

8.    後置遞增運算子的優先順序高於解引用運算子



9.    運算對象可按任意順序求值:



10.  條件運算子滿足右結合律:



11.  位元運算符強烈建議只用於處理無符號數或正數,因為符號位如何處理是與機器有關的.


12.   struct結構體類的對象是需要對齊一個字大小的.



13.  sizeof運算子並不去計算其運算對象的值,所以在sizeof中解引用一個無效的指標是合法的.

sizeof作用於 string 和vecvtor時,只返回其固定部分的位元組大小,不會對其內容求位元組大小.

 

14.  逗號運算子的求值順序是從左至右,且其返回值是右邊運算式的值.所以如果右邊運算式的返回值是左值,那麼逗號運算子的返回值也是左值.注意b=4返回b的引用(即左值)

 

15.  void* 能存放任何非常量對象的地址:

 

16.  const_cast<>()會改變(且只能改變)運算對象的底層const屬性.(只有指標和引用有底層const)


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.