---
title: "C++ 從路人到入門預購中 (早鳥優惠 3.75 折)"
seo_title: "C++ 從入門到入土"
seo_description: "學習C++轉職工程師，脫離紅海市場，邁向百萬年薪"
slug: cplusplusbeginners
url: https://chenlen.com/courses/cplusplusbeginners
type: paid
tags: ["C++ 初學者", "C++ 入門", "c++"]
---

# C++ 從路人到入門預購中 (早鳥優惠 3.75 折)

> 幫助你成功轉職 C++ 工程師，邁向百萬年薪。

## Description

隨著主計處公布的薪資中位數越來越高，你是否疑惑都是哪些人領平均以上的薪水？隨著 AI 讓台灣迎來另一次經濟增長，但只有電資領域能直接享受這波 AI 爆發的果實，我們普通人想要上車，只能買股票或 ETF 才能跟到這波浪潮，但投資也要先有錢。 因此，你是否曾考慮過成為一名程式設計師，但又不知道要選哪種程式語言？你是否曾經覺得自己沒有學歷或相關經驗，無法進入這個充滿機會的領域？我猜你可能已考慮或學習過網站開發的技術，或是因為 AI 的應用學習 Pyhton，但當你花了好幾萬上程式訓練班，出來求職後卻發現網站開發技術已經變成紅海市場，AI 領域又不是只學 Python 就可以進去，還要有深厚的機器學習知識。 我建議你可以考慮 C++ 這門程式語言，C++ 相比其他程式語言專精確實較為困難，但入門卻不一定，而投資終有回報，C++ 應用的範圍廣且深，薪資相對較高，而且算是藍海市場，如果你曾被這個大家都說很難的程式語言嚇到，而放棄開始學習的念頭，那麼你不是唯一一個有這種想法的人，也不是唯一一個能夠克服這些障礙的人。 在我們的課程中，你可以學到什麼？C++ 語法，包含 C++ 11/14/17/20。C++ 物件導向程式設計，包含設計 class 必知必會的知識。C++ Template，會談到 C++ Template Metaprogramming。C++ 標準函式庫，會介紹常用的容器與演算法。C++ 智慧指標，會特別談到如何處理傳統指標釋放記憶體的諸多風險。C++ Multithreading 基礎知識，介紹 C++ 標準函式庫提供的多執行緒函式庫。C++ Coroutines。bonusC++ Socket Programming 入門。C++ 遊戲程式入門，使用 raylib。C++ 視窗程式入門。C++ 多執行緒程式入門。 * 購買前須知，我每個星期會上架課程單元，這門課會一直更新，目前的章節不會是最後的內容，是我大概列的，我會將大部分 C++ 11/14/17/20 內容加入，但預購中的第一版只會加入常用的內容，不然上線的時間會拖得很長。另外預購期折扣會比較大，隨著內容越來越豐富，會慢慢恢復原價，這不但可以感謝預購期就支持我的人，並且我也會有持續更新的動力，在此附上 2025 年最新折價券 cppbegin300，可折抵 $350。

## Learning Objectives

- C++ 語法，包含 C++ 11/14/17/20。
- C++ 物件導向程式設計，包含設計 class 必知必會的知識。
- C++ Template，會談到 C++ Template Metaprogramming。
- C++ 標準函式庫，會介紹常用的容器與演算法。
- C++ 智慧指標，會特別談到如何處理傳統指標釋放記憶體的諸多風險。
- C++ Multithreading 基礎知識，介紹 C++ 標準函式庫提供的多執行緒函式庫。
- C++ Coroutines。
- C++ Socket Programming 入門。
- C++ 遊戲程式入門，使用 raylib。
- C++ 視窗程式入門。
- C++ 多執行緒程式入門。

## Course Info

- Lectures: 155
- Video: 21.3h
- Downloadable resources: 3

## Rating

5.0 / 5 (1 ratings)

## Instructors

### Lei
*陪你走過學習 C++ 的旅程*

YouTube 頻道【C++ 從入門到入土】

## Curriculum

### 3.5 小時免費公開課幫助你初步了解 C++ (3h 29m)

- C++ 沒有想像那麼難 (3h 28m) [Preview]
- 課程範例 (0m)

### 怎麼開始寫你的第一支程式 (13m)

- 安裝寫程式的軟體 (1m)
- 新增、執行及開啟舊專案的方法 (2m)
- 將 C++ 標準切換為 C++ 20 (或最新標準) (1m)
- 註解 (1m)
- 程式執行進入點 main (1m)
- 讓我們來顯示文字吧 (4m)

### 基本型別 (58m)

- 整數型別 (14m)
- 浮點數型別 (5m)
- bool 型別 (3m)
- 字元型別 (13m)
- const (1m)
- array (12m)
- 字元陣列與字串 (6m)

### 運算子 (58m)

- 算術運算子 (13m)
- 位元運算子 (9m)
- 整數的二進位表示法 (12m)
- 位元移位運算子 (5m)
- 比較運算子 (5m)
- 邏輯運算子 (5m)
- 邏輯運算子優先權 (4m)
- 邏輯運算子 && 與 || 的 short-circuiting 機制 (2m)

### 控制流程 (40m)

- if / else if / else (4m)
- expression ? expression : expression (3m)
- if init statement (C++17) (6m) [Preview]
- while (2m)
- do while (2m)
- for (2m)
- range-based for (C++11) (1m)
- break (4m)
- continue (4m)
- switch (4m)
- switch init statement (C++17) (2m) [Preview]

### 自動判斷型別 (6m)

- auto (C++11) (4m)
- decltype (C++11) (1m)

### 指標與陣列 (42m)

- 指標是什麼？ (7m)
- 從指標讀寫值 (4m)
- 陣列與記憶體位址 (3m)
- 一維陣列與指標 (6m)
- 多維陣列 (5m)
- 二維陣列與指標 (8m)
- 三維陣列與指標 (6m)

### 參考 reference (6m)

- 參考是什麼？ (2m)
- non-const reference 與 const reference (3m)

### 函式 (37m)

- 最簡單的函式 (2m)
- 函式參數 (3m)
- 函式回傳值 (3m)
- return (3m)
- 函式參數預設值 (2m)
- main (7m)
- function overloading (2m)
- 函式指標 (3m)
- auto 宣告函式指標 (2m)
- 傳陣列給函式 (6m)

### 動態記憶體配置 (8m)

- new / delete (3m)
- new [] / delete [] (4m)

### enum 列舉型別 (5m)

- enum (4m)
- enum class (1m)

### 字串 (13m)

- raw string literals (C++11) (2m)
- std::string (3m)
- vs2022 使用 string 顯示 utf8 字串不亂碼 (可跳過) (8m) [Preview]

### 類別與物件 (2h 47m)

- struct (0m)
- class (5m)
- const 成員函式 (4m)
- 介面與實作分離 (5m)
- 建構子 (6m)
- 解構子 (7m)
- copy constructor (11m)
- this (2m)
- copy assignment (6m)
- copy assignment 的回傳值型別 (5m)
- move constructor (6m)
- move assignment (5m)
- 善用別人寫好的 class (14m)
- 具名的右值引用是左值 (6m)
- call by reference (3m)
- static member (3m)
- 繼承 (8m)
- 存取權限 public / protected / private (3m)
- derived class 隱藏 base class 的同名成員函式 (5m)
- 虛擬函式 (4m)
- 虛擬函式與 override (2m)
- 虛擬函式好用在哪？ (5m)
- 虛擬解構子 (3m)
- 避免 new 及 delete 的顯式使用 (4m)
- final (3m)
- explicit (8m)
- friend (3m)
- 純虛擬函式 (5m)
- 寫 class 要注意的 8 個地方 (8m) [Preview]
- C++ 節省記憶體小妙招 (5m) [Preview]

### 其他關鍵字 (25m)

- union (4m)
- typedef (2m)
- using (3m)
- volatile (5m)
- goto (4m)
- namespace (2m)
- using namespace (2m)

### 其他 C++ 新特性 (5m)

- digit separator (C++14) (1m)
- designated initializers (C++20) (3m)

### 轉型運算 (28m)

- 強制轉型 (2m)
- static_cast (2m)
- const_cast (7m)
- dynamic_cast (6m)
- reinterpret_cast (10m)

### Template (33m)

- function template (3m)
- C++ template metaprogramming 初相見 (8m) [Preview]
- 編譯期 for loop (10m) [Preview]
- 計算編譯期排列 P(n, k) (4m) [Preview]
- 編譯期 if (6m) [Preview]

### 標準函式庫容器 (25m)

- array (3m)
- vector (8m)
- map (10m)
- 如何選擇使用 map 或 unordered_map (3m) [Preview]

### 智慧指標 (0m)

- 初學者如何先避開指標 (7m) [Preview]

### 標準函式庫演算法 (0m)


### 多執行緒 (25m)

- std::thread (25m) [Preview]

### Coroutines (C++ 20) (5h 17m)

- 什麼樣的函式會被 C++ compiler 當作協程 (5m) [Preview]
- compiler 會對協程做哪些轉換？程式設計師又要提供哪部分的程式？ (11m) [Preview]
- 使用 co_return 程式設計師要提供那些函式？ (5m) [Preview]
- 使用 co_yield 傳值，程式設計師要提供什麼函式？ (5m) [Preview]
- 哪些函式不能作為協程？ (3m) [Preview]
- 協程參數與 promise_type 建構子的關係 (7m) [Preview]
- 取得 coroutine_handle 恢復協程運行 (7m) [Preview]
- 使用 RAII 管理協程資源 | final_suspend 不要回傳 suspend_never 原因之一 (10m) [Preview]
- 如何取得協程內的值並判斷協程是否結束 | final_suspend 不要回傳 suspend_never 原因之二 (6m) [Preview]
- 非侵入式改寫已有的成員函式為 coroutine，成員函式沒有回傳值，以 vector::push_back 為例 (6m) [Preview]
- 非侵入式改寫已有的成員函式為 coroutine，成員函式有回傳值，以 vector::size() 為例 (3m) [Preview]
- 協程生命週期範例之一，使用類別成員變數舉例 (9m) [Preview]
- 協程生命週期範例之二，使用 lambda 舉例 (12m) [Preview]
- co_await 自己定義 Awaiter，不一定要使用標準函式庫提供的 suspend_never 或 suspend_always (5m) [Preview]
- co_await 自定 Awaiter 之 await_suspend 的三種回傳型態 (9m) [Preview]
- co_await expr 兩段式轉換出 awaiter，第一段轉換 promise.await_transform(expr) (7m) [Preview]
- co_await expr 兩段式轉換出 awaiter，第二段轉換 awaitable.operator co_await() (6m) [Preview]
- 協程的例外處理機制 (12m) [Preview]
- 協程如何跟 C API 溝通？ (3m) [Preview]

### 常用除錯方法 (1m)

- 執行到條件成立才中斷 (1m)

### 網路程式設計入門 (1h 1m)

- Hello, socket! (16m) [Preview]
- server 端如何從 client 端接收資料？ (7m) [Preview]
- 使用 RAII 技術處理 socket 的資源釋放 (6m) [Preview]
- 處理收資料 recv 函式的回傳值 (12m) [Preview]
- 處理送資料 send 函式的回傳值 (5m) [Preview]
- 讓 server 可以繼續的服務下一個 client (7m) [Preview]
- 讓 server 可以同時服務多個 client (5m) [Preview]

### 遊戲設計入門 (1h 19m)

- 使用 raylib 開始寫一個小遊戲，raylib 基本程式執行邏輯介紹 (14m) [Preview]
- 使用 raylib 畫出矩形，設定 FPS (9m) [Preview]
- 使用 raylib 載入及畫出圖檔 (5m) [Preview]
- 使用 raylib 處理滑鼠點擊事件，記憶遊戲翻牌 (12m) [Preview]
- 用 raylib 來自己寫 Timer class (7m) [Preview]
- 卡片猜對猜錯處理，C++ raylib (12m) [Preview]
- C++ raylib 如何顯示中文字？ (6m)
- C++ raylib 輸出象棋用圖片 (11m)

### 面式考題收集 (4m)

- K 公司題目 (0m)
- R 公司題目 (0m)
- 指標前置運算及後置運算考題 (4m)

### 如何寫履歷 (0m)


## Pricing

### 預購期早鳥優惠 - NT$3,300
*Original price: NT$8,800*

預購期早鳥優惠可以特惠價購買，這是為了感謝第一批支持我的粉絲，購買此課程後，不論以後新增什麼內容都不需再付費即可觀看，並且未來可以優惠價購入我的其他課程，例如未來預計會出的【使用 C++ 實作看盤軟體】、【C++ Design Pattern】、【C++ multi thread 程式設計】等。
