返回課程
AI013 Professional

現代 C++ 教學

本教程旨在為有經驗的開發者提供 C++11/14/17/20 新功能的快速參考。內容涵蓋語言易用性提升、執行時間改進、新容器、智慧指針與記憶體管理、正則表示式、並行程式設計,以及 C++20 的預覽。

4.8
30.0h
318 學習者
2 讚好
人工智能
開始學習

課程總覽

📚 內容摘要

本教程旨在為有經驗的開發者提供一份快速參考,介紹 C++11/14/17/20 的新功能。內容涵蓋語言易用性提升、執行時期優化、新容器的使用、智慧指標與記憶體管理、正規表示式、並行程式設計,以及 C++20 的預覽。

快速掌握 C++11/14/17/20,邁入現代 C++ 程式設計的大門。

作者: 欧长坤 (Ou Changkun)

致謝: 采用 CC BY-NC-ND 4.0 協議授權,感謝所有 GitHub 貢獻者及相關社群支持。

🎯 學習目標

  1. 使用命令列工具識別並驗證 C++ 編譯器環境與目標架構。
  2. 解釋 C(C89、C99、C11)與 C++(C++98、C++1x)之間的標準相容性與重疊歷史。
  3. 透過 extern "C" 標頭與多階段編譯工作流程,實現跨語言連結功能。
  4. 使用 nullptr 消除指標歧義,並利用 constexprif constexpr 實作編譯時期邏輯。
  5. 使用 autodecltype 及型別別名(using)簡化複雜宣告,同時以 overridefinal 確保穩固的物件導向設計。
  6. 利用可變參數模板、折疊表達式與非類型模板參數推導,設計高度通用的程式碼。
  7. 使用多種捕捉模式(值、引用、運算式、通用)定義並實作 Lambda 表達式。
  8. 使用 std::functionstd::bind 建立彈性函數包裝器與部分函數應用。
  9. 將表達式分類為左值(Lvalues)、純右值(Prvalues)與臨時量(Xvalues),並應用搬移語意(Move Semantics)優化類別資源管理。
  10. 区分 std::array(固定大小、棧上)與 std::vector(動態大小、堆上)的記憶體模型與使用情境。

課程