天天看點

c++(17)一、二兩章回顧2

第二章用了三天的時間看完,每天大概花了兩小時時間,因為從上次看到現在時間過去的并不久,是以看得很快。在這個過程中,查漏補缺,把一些記憶不牢固的知識點再次記

錄下來。不得不說,第一次看雖然一字一句看得很認真,但是第二次看才是真正的記住。如果沒有第二次的回顧的話,感覺要不了多久,前面看得兩章除了本來就會的東西,新

學的很快就會忘光掉。

在第二章類型轉換中,将負數轉換成無符号數的方法:因為計算機中對數的機器表示使用的是補碼,是以隻要計算出補碼所表示的正數即可。

計算方法:隻要用數值類型的表示範圍的總數加上原來的負數即可。

其中,想要徹底了解這些概念,則需要了解機器數,真值,源碼,反碼,補碼等概念。前面也曾記錄過,取模與取餘的差別。

一條 聲明語句由一個基本資料類型和緊随其後的聲明符清單組成。每個聲明符命名了一個變量并指定該變量為與基本類型有關的某種類型。

引用本身并非一個對象。一旦定義了引用,就無法使其綁定其它對象。

void*指針不能直接操作所指向的對象,因為無法知道這個對象到底是什麼類型。

空指針 nullptr(c++11)、0、NULL(cstdlib)

類型修飾符(&、*)

預設const隻在檔案内有效,如果想讓const像其它常量一樣工作的話,解決辦法是,無論是定義還是聲明,都添加關鍵字extern。

const的引用(個人了解,引用并非對象,const的引用隻有一種意義: const的引用可以引用任何常量和非常量的對象,但是不能使用const的引用來改變與之綁定的對象的值)

指針和const(兩種意義:頂層const,指針本身是常量(類型 *const 變量名)。底層const,指針指向的對象是常量(const 類型 *變量名)。)

常量表達式和constexpr(c++11新标準中,使用constexpr聲明變量,編譯器可以驗證變量是否為一個常量表達式。)

字面值類型(算數類型、指針和引用都屬于字面值類型)都可以被定義為constexpr。

constexpr僅對指針本身有效,與所指對象無關。p60

typedef(注意與指針結合使用的時候容易出現的問題)

auto類型說明符(c++11新标準,auto通常會忽略掉頂層const,保留底層const)

decltype類型訓示符(c++11新标準。注意:1.訓示符所使用的表達式是否為一個變量。2.解引用符的使用。3.表達式wait加上了括号,結果必定是引用。)