《C++ Primer 第五版》(第1~6章总结)
1.C++采用標準庫文件iostream定義的兩個對象來實現IO機制。
2.代碼注釋應解釋關鍵數據的變量含義和代碼完成了什么功能,力求簡潔易懂。
3.正確理解初始化和賦值,聲明和定義的含義?初始化是在定義對象的時候同時賦值,賦值是定義對象和賦值不在同一個時間段。聲明是向編譯器說明存在這樣一個名字,定義是聲明名字同時說明名字執行的功能。
4.正確理解指針和引用的含義?指針是一個對象,引用是對象的別名。
5.要養成加const限制符的習慣。
6.使用using/typedef來定義類型別名,可以增加代碼的魯棒性和可移植性。
7.C++11提供auto和decltype來獲取對象的類型,其中decltype可以獲取引用的類型。
8.編寫程序過程中可以采用預處理功能來防止某些內容被重復包含,具體格式為:#ifndef 預處理變量? 代碼段 #define 預處理變量 代碼段 #endif
9.C++在頭文件cctype(兼容C語言中的ctype.h)定義了一類判斷和處理字符的函數,在頭文件cstring(兼容了C語言中的string.h)定義了一類比較和拷貝字符串的函數。
10.C++中只定義了“&&,||,?:,,”等四類運算符的求值順序,對于其他運算符和函數調用過程中,應盡量避免因運算符兩側的對象或函數實參對象之間有聯系而造成的程序二義性問題。
11.對于有符號數和無符號混合運算的問題,如果無符號數>=有符號數或者有符號數類型范圍大于無符號數,則將有符號數轉化為無符號數計算,否則將無符號數轉化為有符號數計算。
12.對于C++中規定的顯示類型轉換,static_cast替代了C中的全部強制類型轉換(不能解決底層const問題),而const_cast用于改變對象的底層const屬性問題。
13.運算符的優先級公式:“單算移關與,異或邏條賦”。
14.C++中定義了一套try-throw異常發現拋出,catch異常捕獲處理機制及一組標準異常類。
15.參數傳遞分為值傳遞和引用傳遞兩種方式。
16.C++提供initialize_list,可變參數模板,省略符來處理一類未知實參個數的函數問題。
17.C++提供直接聲明(用指針名代替數組名或函數名,記得加括號)、using/typedef類型別名,尾后返回類型和decltype(指向的 數組類型/函數聲明已知)的方法完成對數組/函數指針的聲明。
18.函數指針可以作為函數的形參,用于解決一類問題,可以增強代碼的魯棒性。
19.函數重載的條件是相同作用域、同名函數、不同參數列表。返回值和頂層const不能作為重載的判定依據。
20合理使用默認形參(部分參數默認已知)、inline函數(功能類似于宏替換)和constexpr函數(定義常量表達式)。
總結
以上是生活随笔為你收集整理的《C++ Primer 第五版》(第1~6章总结)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 成都大熊猫繁育研究基地学生票要学生证吗
- 下一篇: QT自定义MainWindow