CodeGym
AI Academy
促銷
CodeGym University
學習
課程
任務
問卷 & 測驗
遊戲
說明
行程
社群
用戶
論壇
聊天
文章
成功故事
動態
評價
訂閱
淺色主題

課程

  • 評論
  • 關於我們
開始
開始學習
立即開始學習
  • My Progress
  • Courses
  • 任務地圖
  • 課程
  • 建置階段:preprocessing → compile → link

    C++ SELF
    等級 30,課程 0
    解析 IDE 中「Run」按鈕實際做了什麼:preprocessor 如何展開 #include 和巨集( #define, #if),編譯器如何把每個 .cpp 轉成目標檔( .o/ .obj),以及連結器如何把一切黏成可執行檔,尋找(或找不到)符號的定義。過程中引入 translation unit 的概念,並把它和典型的建置錯誤與 ODR 連結起來。
    可用
  • 編譯錯誤 vs 連結錯誤

    C++ SELF
    等級 30,課程 1
    解析 compile error 與 link error 在 C++ 中的區別:問題出現在哪個階段、為什麼編譯器只需要聲明而連結器要求定義,以及如何在 10 秒內通過關鍵字 expected、 was not declared、 undefined reference 和 multiple definition 來分類日誌。以迷你專案 TaskBox 為例,展示典型場景:忘記了 ;、漏寫 #include、沒有參與構建的 .cpp 以及簽名不一致的情況。
    可用
  • Warnings:為何它們是未來的 Bug

    C++ SELF
    等級 30,課程 2
    解析為何編譯器的 warning 在 C++ 中不是「噪音」,而是未來錯誤的早期訊號:不明顯的意圖、類型邊界的風險(signed/unsigned)、可能造成資料遺失的隱式轉換、可疑的條件( = 而非 ==)以及透過 [[nodiscard]] 忽略重要回傳。透過實際範例 TodoLite 學習如何在不驚慌的情況下讀懂 warning,並修正它們以明確表達程式碼意圖。
    可用
  • 警告政策:「warnings as errors」

    C++ SELF
    等級 30,課程 3
    我們討論為何應將 C++ 編譯器警告視為早期問題信號,以及「 warnings as errors」做法如何運作:如何處理 unused變數與參數(包括採用 static_cast < void > 的做法)、如何避免在以 std::size_t 遍歷容器時出現的 signed/ unsigned 陷阱,以及為何像 double → int 的隱式轉換最好是有意識地進行。最後 — 用 MiniTracker 的範例、mermaid 組建流程圖以及對實施嚴格政策時常見錯誤的分析。
    可用
  • 迷你診斷工具箱:輸出、assert、日誌訊息

    C++ SELF
    等級 30,課程 4
    一組用於快速除錯 C++ 主控台程式的小技巧:將「正確輸出」與透過 std::cout/ std::cerr 的診斷分開,使用 assert 檢查內部契約,透過 log_debug/ log_error 函數與開關 ENABLE_DEBUG_LOGS 整理訊息。所有示範都在教學應用 MiniTasks 上演示,並搭配簡短的「假設 → 驗證 → 修改」迴圈。
    可用
學習
  • 註冊
  • Java 課程
  • 題目協助
  • 價格
  • Java 語法
社群
  • 用戶
  • 文章
  • 論壇
  • 聊天
  • 成功故事
  • 動態
  • 聯盟計畫
公司
  • 關於我們
  • 聯絡方式
  • 評價
  • 新聞中心
  • CodeGym for EDU
  • 常見問題
  • 支援
CodeGymCodeGym 是一門從零開始學習 Java 程式設計的線上課程。這門課程是初學者精通 Java 的完美方式。它包含超過 1200 題、具即時檢驗功能,以及涵蓋 Java 基礎理論的必要範圍。為了幫助你在學習上成功,我們實作了一系列激勵功能:測驗、程式專案、關於有效學習的內容,以及 Java 開發者職涯相關內容。
追蹤我們
介面語言
English Deutsch Español हिन्दी Français Português Polski বাংলা 简体中文 मराठी தமிழ் Italiano Bahasa Indonesia
繁體中文
Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
"程式設計師是培養出來的,不是天生的" © 2026 CodeGym
MastercardVisa
"程式設計師是培養出來的,不是天生的" © 2026 CodeGym