第二章用了三天的時間看完,每天大概花了兩小時時間,因為從上次看到現在時間過去的並不久,所以看得很快。在這個過程中,查漏補缺,把一些記憶不牢固的知識點再次記
錄下來。不得不說,第一次看雖然一字一句看得很認真,但是第二次看才是真正的記住。如果沒有第二次的回顧的話,感覺要不了多久,前面看得兩章除了本來就會的東西,新
學的很快就會忘光掉。
在第二章型別轉換中,將負數轉換成無符號數的方法:因為計算機中對數的機器表示使用的是補碼,所以只要計算出補碼所表示的正數即可。
計算方法:只要用數值型別的表示範圍的總數加上原來的負數即可。
其中,想要徹底理解這些概念,則需要了解機器數,真值,原始碼,反碼,補碼等概念。前面也曾記錄過,取模與取餘的區別。
一條宣告語句由乙個基本資料型別和緊隨其後的宣告符列表組成。每個宣告符命名了乙個變數並指定該變數為與基本型別有關的某種型別。
引用本身並非乙個物件。一旦定義了引用,就無法使其繫結其它物件。
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加上了括號,結果必定是引用。)
c (17)一 二兩章回顧
前些天基本上每天都會花一兩個小時看書,系統的學習c 內容,彌補之前不足之處。經過了一段時間之後,已經看了兩章內容了,又一些內容是之前早就會的,當然也有一部分是自己新學到的,還有一部分是c 11新規定的內容。為了避免出現學完忘光的情況,沒過一段時間我會回顧之前所學,加深印象。今天早上的時候,回頭看了第...
C 17 之 結構繫結
注意 結構繫結 structured binding 位於iso iec14882 2017 11.5 節.結構繫結的作用是方便從其它資料結構中提取資料,如 pair,tuple,陣列等.通過結構繫結,可以替代 c 17 之前的 std tie,並且使用更加方便.通用的宣告方式為 auto v1,v...
C 17 新特性梳理
目錄 if init表示式 structual bindings inline變數 std string view c 17語言引入了乙個新版本的if switch語句形式,if init condition 和switch init condition 即可以在if和switch語句中直接對宣告變...