Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 我的 C++ 學習之旅 / My C++ Learning Journey

你好!我是 [姚宥宏]。 可以叫我 [Ethan]

個人介紹

即將踏入大學的準大一新生 就讀電機相關科系

📫 聯絡我 / Contact Me

歡迎對 C++ 或其他程式語言或ai工具的應用有興趣的朋友透過以下方式與我交流!

Email: [youhong0830@gmail.com]** **Ig 名稱**:**[youhong.0830]

開始建立這個github的專案的用意是因為正在思考我們生活中已經離不開了ai的應用了舉凡文章寫作 程式碼的構建 圖像的製作 3D動畫的渲染經由一個精確的prompt就可以幫助你完成任務,日常的事物 重複性的工作逐漸地被ai所取代 單純寫出程式碼的價值正在逐漸的弱化 而定義問題 設計解題的操作 解決問題的能力在不斷的升值

我認為在這個時代中 人的成長從來不是知道正確的答案 而是在於創造 理解 實踐的過程中 因此我萌發了創建我第一個github來記錄我的學習 撰寫專案對我有益的地方 . 鑄造深度學習的「肌肉記憶」 觀看教學影片、閱讀技術文章,能讓我們獲得「知識」。但是通常眼睛會並不是真的會 我們學習的過程中一定會有些時候學過但知識已悄悄的從大腦溜出來,但我們如果把[教學]轉為[實踐],你才能獲得真正的[技能]。

將理論內化為直覺:當你為了一個置中對齊的 CSS 樣式奮鬥半小時,或為了一個 C++ 的指標錯誤除錯到深夜,你對這個知識點的理解,將遠超任何課堂筆記。這個為了解決[困難]所付出的努力我覺得財對於學習有幫助

學會解決「未知問題」:教學範例總是完美的,但真實的專案充滿了意外。親手打造專案,會強迫你去面對那些書本上沒寫的、獨一無二的挑戰。你學會的不只是寫程式,更是如何定義問題、查找資料、分析錯誤、並最終找到解決方案的綜合能力。

培養除錯的韌性:AI 可以給你一段完美的程式碼,但當它無法運作時,AI 不會教你如何抽絲剝繭地找出問題根源。在我的 GitHub commit 歷史中,那些 fix: ... 的提交,正是我韌性與解決問題能力的最好勳章,我將 GitHub 視為我的數位工坊與成長日誌。這裡的每一個提交(commit),都記錄了我當時的思考脈絡;每一個專案,都代表了我將理論知識轉化為實際技能。


歡迎來到我的 C++ 學習倉庫!這裡是我從零開始,一步步探索並掌握 C++ 這門強大語言的完整紀錄。我會將所有的練習程式碼、筆記、以及逐步完成的專案都存放在這裡。

我的目標不僅是學會 C++ 的語法,更是要透過不斷的實踐與紀錄,建立起扎實的程式設計思維,並最終成為一名能夠運用 C++ 解決複雜問題的開發者。

🗺️ 倉庫結構 / Repository Structure

為了讓學習過程更有條理,我將這個倉庫依照學習階段分為以下幾個主要資料夾:

  • /.vscode/: 存放 Visual Studio Code 編輯器的專案設定檔,例如編譯任務 (tasks.json) 和除錯設定 (launch.json)。
  • /01_Basics/: 存放 C++ 基礎語法的練習,每個檔案都是一個獨立、專注於單一觀念的小程式。
  • /02_Core_Concepts/: 存放核心觀念的程式碼範例,如指標、參考、記憶體管理等。
  • /03_OOP/: 關於物件導向程式設計 (封裝、繼承、多型) 的練習。
  • /04_STL/:學習使用標準模板庫 (如 vector, map, string, algorithm) 的筆記與實作。
  • /05_Modern_CPP/: 探索 C++11/14/17/20+ 的現代特性,如智慧指標、Lambda 表達式等。
  • /Projects/: 存放一些比較完整、由多個檔案組成的小型專案。
  • ** C++學習之旅 **: 存放我的學習筆記包含了文字說明 簡單的程式碼以及解說

📈 學習藍圖與進度 / Learning Roadmap & Progress

我將依循以下的學習藍圖前進,並透過勾選來即時更新我的進度。

  • 階段零:開發環境建置 (Stage 0: Development Environment Setup)

    • 安裝與設定 Git 版本控制
    • 在 Windows 上安裝 MSYS2 與 MinGW-w64 (UCRT64) 編譯器工具鏈
    • 設定 PATH 環境變數
    • 安裝與設定 Visual Studio Code
    • 設定 VS Code 的 C++ IntelliSense、編譯與除錯任務
    • 成功串接本地倉庫與遠端 GitHub 倉庫
  • 階段一:基礎語法 (Stage 1: Basics)

    • Hello, World!
    • 變數、資料型態與基本 I/O (cin, cout)
    • 運算子與表達式
    • 流程控制:if-else, switch
    • 迴圈:for, while, do-while
  • 階段二:核心觀念 (Stage 2: Core Concepts)

    • 函式與參數傳遞
    • 陣列與 C-Style 字串
    • 指標與記憶體管理 (new, delete)
    • 參考 (References)
    • 結構 (Structs)
  • 階段三:物件導向程式設計 (Stage 3: OOP)

    • 類別與物件
    • 封裝:public, private
    • 建構子與解構子 (RAII)
    • 繼承
    • 多型與虛擬函式
  • 階段四:標準模板庫 (Stage 4: STL)

    • std::vector & std::string
    • std::map & std::set
    • 迭代器 (Iterators)
    • 演算法 <algorithm>

✨ 代表專案 / Featured Projects

這裡將會展示我完成的、比較有代表性的專案,用以總結每個階段的學習成果。

  • [專案一:主控台貪食蛇遊戲] (範例,待完成)
    • 簡介:一個在終端機視窗中運行的經典貪食蛇遊戲。
    • 使用技術:物件導向設計 (蛇、食物)、二維陣列、使用者輸入處理。
    • [連結]/Projects/SnakeGame/ (待建立)

🛠️ 我的開發環境 / My Development Environment

  • 作業系統 (OS): Windows 11
  • 編輯器 (IDE): Visual Studio Code
  • 編譯器 (Compiler): g++ (MinGW-w64 via MSYS2 / UCRT64)
  • 建置系統 (Build System): CMake (未來規劃)
  • 版本控制 (Version Control): Git & GitHub

📚 主要學習資源 / Key Learning Resources

我主要參考以下優質資源來學習,也推薦給大家!


About

這是一個C++的學習筆記從基礎語法、演算法練習到完整專案的個人成長紀錄 🚀 (持續更新中))

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages