{%hackmd aPqG0f7uS3CSdeXvHSYQKQ %} ###### tags: `note` `C++` # <div id = animation_title>C++筆記</div> 這是我大一上學期平日練習和閱讀 C++ 所寫下來的東西,課本主要是看這本: **<a href="https://openhome.cc/Gossip/CppGossip/index.html" class="redlink">語言技術:C++ Gossip </a>** 這份筆記目前已經沒有在維護了,但不用擔心會有過時的問題,內容當時主要是圍繞在 C++11 撰寫的。 不知道為什麼這份的觸及好像有點高,所以這份筆記就還是先把它留著了,也當作紀念哈哈 本人目前在中央大學數學系計中擔任網管一職,後來有重新寫了一份新的系列文,當作當時培訓新人的講義: - [Cpp-Miner github](https://github.com/Mes0903/Cpp-Miner) - [Cpp-Miner on Mes Blog](https://mes0903.github.io/Cpp-Miner/) 礦坑系列的教學比較詳細,會時不時的將標準內的定義引用出來給大家看,詳細內容可以到礦坑系列的序看 但當時教下來發現因為內容寫的比較嚴謹,導致其實有點太過艱澀和枯燥,同事有點聽不太懂,所以也許先讀讀這邊的舊文也是個不錯的選項 待我之後有空,也許也會再重新回來把這裡的舊文整理一下,順便合進礦坑系列的教學中,調整一下礦坑系列的難度 總之翻到這篇的人可以兩邊都看看,取自己所需吧! 有任何問題想問都可以加我 Discord 聯絡:`mes_0903`,也可以直接丟我 [FB](https://www.facebook.com/Mes0903/),我有空就會回復 > Last edited on 2024/04/19 # 基礎概論 ## <a href="https://hackmd.io/3v-i3fGzSwWtNtGiBiJphg?both" id="animation_title">變數、邏輯符號、基本語法 </a> + 變數型態 + 邏輯符號 + 常用語法 + cout + cin + switch + if,else if + while迴圈 + for迴圈及其變形 ## <a href="https://hackmd.io/UojBWFM1RCS4vrv656i6IQ" id="animation_title">陣列、指標 與 物件別名 (Reference 參考)</a> + 陣列 + 一維陣列 + 二維陣列 + 指標 + 指標的運算 + 指標與陣列 + 指標的指標 + new 與 delete (動態配置) + 物件別名 (Reference 參考) (待更新) + Reference + Rvalue Reference ## <a href = "https://hackmd.io/U2U3exOWSkioXerWmerKbw" id="animation_title">函式 Function</a> + 語法 + 引數(Argument) 與 參數(Parameter) + 回傳值型態 + 不定長度引數 + 函式模版 (template) + 模板與參考(reference) + 可變參數模版 + Decltype 與 尾端傳回型態 (待更新) + 函式指標 + Lambda運算式 (待更新) + 一級函式、高階函式與 Algorithm ## <a href = "https://hackmd.io/pJO-L-rXQluddkagZCbpgQ" id="animation_title">Class</a> + 宣告 Class + 建構子 + const 、 mutable 與 static + 巢狀、區域、匿名類別、friend + 運算子重載 + 自訂型態轉換 + 函子 + 類別模版 + 成員指標 + 解構式、複製與移動 + 智慧型指標 + auto_ptr + unique_ptr + shared_ptr + weak_ptr + 列舉 (enum) + union + 位元欄位 ## <a href = "https://hackmd.io/QcDy5W6RQhmghpJlv8NO5g" id="animation_title">物件導向</a> + 繼承共同行為 + 遮蔽父類方法 + 虛擬函式 + 虛擬函式 + 純虛擬函式 + 模版與繼承 + RTTI + 繼承 ── 複習與補充 + 多重繼承 + 多重繼承的建構 + 虛擬繼承 + 多重繼承的複雜 ## <a href = "https://hackmd.io/jmNCb3H8SVKxdoDYsjU0pA" id="animation_title">STL容器</a> + Vector + List + Deque + Stack + Queue + Array + pair + Map ## <a href = "https://hackmd.io/SaoFkqu5R6qCzmZsBWiQdA" id="animation_title">排序法與時間複雜度</a> + 時間複雜度 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) —— 費氏數列遞迴 (待補) ## <a href = "https://hackmd.io/6ZCGDBXRSEa4oWteP5Q8vw" id="animation_title">I/O 資料讀寫</a> + I/O 格式控制器 + I/O格式旗標 + 文字檔案 I/O + 二進位檔案 I/O # <br> # 參考資料 <br> **<a href="https://openhome.cc/Gossip/CppGossip/index.html" class="redlink">1. 語言技術:C++ Gossip </a> (課本)** **<a href="https://www.codecademy.com/learn/learn-c-plus-plus" class="redlink">2. Codecademy</a>** **<a href="https://www.csie.ntu.edu.tw/~b98902112/cpp_and_algo/index.html" class="redlink">3. C++入門教學</a>** **<a href="https://medium.com/appworks-school/%E5%88%9D%E5%AD%B8%E8%80%85%E5%AD%B8%E6%BC%94%E7%AE%97%E6%B3%95-%E5%BE%9E%E6%99%82%E9%96%93%E8%A4%87%E9%9B%9C%E5%BA%A6%E8%AA%8D%E8%AD%98%E5%B8%B8%E8%A6%8B%E6%BC%94%E7%AE%97%E6%B3%95-%E4%B8%80-b46fece65ba5" class="redlink">4. 初學者學演算法</a>** **<a href="https://crmne0707.pixnet.net/blog/post/317892894-c++-%E6%95%99%E5%AD%B8" class="redlink">5. 埃伯 C++教學 </a>** **<a href="https://mropengate.blogspot.com/2015/07/cc-vector-stl.html" class="redlink">6. C/C++ - Vector (STL) 用法與心得完全攻略</a>** **<a href="https://larry850806.github.io/2016/06/06/STL1/" class="redlink">7. [C++] STL 容器 (一) - 基本介紹 </a>** **<a href="https://noob.tw/data-structure/" class="redlink">8. 資料結構筆記(一):演算法、時間複雜度、空間複雜度 </a>** **<a href="https://blog.techbridge.cc/2016/09/24/binary-search-introduction/" class="redlink">9. 淺談二分搜尋法 </a>** **<a href="https://alrightchiu.github.io/SecondRound/comparison-sort-merge-sorthe-bing-pai-xu-fa.html" class="redlink">10. Comparison Sort: Merge Sort(合併排序法)</a>** **<a href="https://www.itread01.com/content/1546716608.html" class="redlink">11. sizeof獲取陣列長度</a>** **<a href="https://sites.google.com/site/sjdsalg/home" class="redlink">12. 徐熊健@資料結構與演算法</a>** **<a href="https://ithelp.ithome.com.tw/articles/10190235" class="redlink">13. [VSCode] Visual Studio Code 執行 C++ (1) - 安裝 VSCode + MinGW</a>** **<a href="https://alrightchiu.github.io/SecondRound/comparison-sort-quick-sortkuai-su-pai-xu-fa.html" class="redlink">14. Comparison Sort: Quick Sort(快速排序法)</a>** **<a href="https://www.youtube.com/watch?v=xoR-1KwQh2k&ab_channel=Musicombo" class="redlink">15. *SEIZURE WARNING* 50+ Sorts, Visualized - Bar Graph</a>** **<a href="https://blog.gtwang.org/programming/lambda-expression-in-c11/" class="redlink">16. C++11 Lambda Expression 語法教學與範例</a>** **<a href="https://blog.csdn.net/yapian8/article/details/42341307" class="redlink">17. 看完這個你還不理解右值引用和移動構造你就可以來咬我(上)</a>** **<a href="https://hackmd.io/@sysprog/c-programming" class="redlink">18. 「你所不知道的 C 語言」系列講座</a>** **<a href="https://en.cppreference.com/w/cpp/language/value_category" class="redlink">19. Value categories</a>** **<a href="https://en.cppreference.com/w/cpp/language/decltype" class="redlink">20. decltype specifier</a>** **<a href="https://hsins.me/blog/2019/05/27/format-source-code-with-clang-format/" class="redlink">21. 使用 clang-format 對程式碼進行排版</a>** **<a href="https://medium.com/@tjsw" class="redlink">22. TJSW的網站</a>** </center>
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.