C++筆記
這是我大一上學期平日練習和閱讀 C++ 所寫下來的東西,課本主要是看這本:
語言技術:C++ Gossip
這份筆記目前已經沒有在維護了,但不用擔心會有過時的問題,內容當時主要是圍繞在 C++11 撰寫的。 不知道為什麼這份的觸及好像有點高,所以這份筆記就還是先把它留著了,也當作紀念哈哈
本人目前在中央大學數學系計中擔任網管一職,後來有重新寫了一份新的系列文,當作當時培訓新人的講義:
也有上傳到 github 和我自己的 Blog 上:
這三個地方基本上會先更新 hackmd,確認沒問題後再同步到 github 與我的 Blog
礦坑系列的教學比較詳細,會時不時的將標準內的定義引用出來給大家看,詳細內容可以到礦坑系列的序看
但當時教下來發現因為內容寫的比較嚴謹,導致其實有點太過艱澀和枯燥,同事有點聽不太懂,所以也許先讀讀這邊的舊文也是個不錯的選項
待我之後有空,也許也會再重新回來把這裡的舊文整理一下,順便合進礦坑系列的教學中,調整一下礦坑系列的難度
總之翻到這篇的人可以兩邊都看看,取自己所需吧!
有任何問題想問都可以加我 Discord 聯絡:mes_0903
,也可以直接丟我 FB,我有空就會回復
Last edited on 2024/04/19
基礎概論
- 變數型態
- 邏輯符號
- 常用語法
- cout
- cin
- switch
- if,else if
- while迴圈
- for迴圈及其變形
- 語法
- 引數(Argument) 與 參數(Parameter)
- 回傳值型態
- 不定長度引數
- 函式模版 (template)
- 模板與參考(reference)
- 可變參數模版
- Decltype 與 尾端傳回型態 (待更新)
- 函式指標
- Lambda運算式 (待更新)
- 一級函式、高階函式與 Algorithm
- 宣告 Class
- 建構子
- const 、 mutable 與 static
- 巢狀、區域、匿名類別、friend
- 運算子重載
- 自訂型態轉換
- 函子
- 類別模版
- 成員指標
- 解構式、複製與移動
- 智慧型指標
- auto_ptr
- unique_ptr
- shared_ptr
- weak_ptr
- 列舉 (enum)
- union
- 位元欄位
- 繼承共同行為
- 遮蔽父類方法
- 虛擬函式
- 模版與繼承
- RTTI
- 繼承 ── 複習與補充
- 多重繼承
- 多重繼承的建構
- 虛擬繼承
- 多重繼承的複雜
- Vector
- List
- Deque
- Stack
- Queue
- Array
- pair
- Map
- 時間複雜度 O
- 常見的時間複雜度與演算法
- O(1)
- O(n)
- O(logn) —— 二分搜尋法
- O(n²) —— 選擇排序法(Selection Sort)
- O(n²) —— 插入排序法
- O(n logn) —— 快速排序法(Quick Sort)
- O(n logn) —— 合併排序法(Merge Sort) (待補)
- O(2n) —— 費氏數列遞迴 (待補)
- I/O 格式控制器
- I/O格式旗標
- 文字檔案 I/O
- 二進位檔案 I/O
參考資料
1. 語言技術:C++ Gossip (課本)
2. Codecademy
3. C++入門教學
4. 初學者學演算法
5. 埃伯 C++教學
6. C/C++ - Vector (STL) 用法與心得完全攻略
7. [C++] STL 容器 (一) - 基本介紹
8. 資料結構筆記(一):演算法、時間複雜度、空間複雜度
9. 淺談二分搜尋法
10. Comparison Sort: Merge Sort(合併排序法)
11. sizeof獲取陣列長度
12. 徐熊健@資料結構與演算法
13. [VSCode] Visual Studio Code 執行 C++ (1) - 安裝 VSCode + MinGW
14. Comparison Sort: Quick Sort(快速排序法)
15. SEIZURE WARNING 50+ Sorts, Visualized - Bar Graph
16. C++11 Lambda Expression 語法教學與範例
17. 看完這個你還不理解右值引用和移動構造你就可以來咬我(上)
18. 「你所不知道的 C 語言」系列講座
19. Value categories
20. decltype specifier
21. 使用 clang-format 對程式碼進行排版
22. TJSW的網站