Menu
CoddyTech
学习路径

C++ 开发者学习路线

想在游戏、系统、量化交易或嵌入式软件领域找一份 C++ 工作,应该按什么顺序学:先把语言学到内存、移动语义和模板的深度,然后是命令行、Git 和 SQL,接着是 C++ 面试最爱考的数据结构与算法,最后是团队能维护的代码。免费、动手实践,在浏览器里学,无需在本地编译。

467,649+ 名学习者已报名这些课程

614 节课593 个挑战2,883 道测验题

C++ 开发者学习路线,一步一步来

17 门课程6 个单元614 节课593 个挑战2,883 道测验题

每一步都由 Coddy 现有的课程组成,每个“开始”按钮都会以 C++ 打开课程。按顺序学,或者从你还缺的那一步开始;进度会按课程保存。

  1. 1
    开始这一步开始共三个单元。基础单元讲类型、运算符、流程控制、函数、数组和字符串;逻辑与流程单元讲用 new 和 delete 操作指针、std::vector、std::map 和 std::set、lambda、初识递归以及异常;面向对象编程单元讲头文件、栈与堆、智能指针和 RAII、构造函数和析构函数、运算符重载、虚函数、模板、STL、移动语义和设计模式。C++ 一开始很难,因为其他语言会拒绝的错误它照样能编译通过;要学得深入,因为 C++ 岗位招的正是这种深度。开始专属页面
  2. 2
    开始这一步开始文件和路径、通配符、grep、管道和重定向、权限、环境变量和 shell 脚本。C++ 服务器、交易系统和大量嵌入式工作都运行在 Linux 上,日常工具也都是终端工具:用 g++ 或 clang++ 编译,用 < 给程序输入测试数据,用 > 捕获输出,用 grep 搜索崩溃日志。一个 shell 脚本就能把多步骤的构建或测试变成一条命令。开始专属页面
  3. 3
    开始这一步开始暂存、提交、.gitignore、分支、合并和冲突、撤销错误以及远程仓库。目标文件、二进制文件和 build/ 目录应该写进 .gitignore,绝不能提交。游戏工作室常把庞大的美术资源放在 Perforce 里,但除此之外,从嵌入式固件到开源编译器,C++ 几乎都放在 Git 里。开始专属页面
  4. 4
    开始这一步开始在真实的表上进行筛选、排序、连接、分组、聚合、子查询、WITH 子句和窗口函数。SQL 在 C++ 中的出镜率不如在 Web 语言中高,但也绝不少见:这些课程所运行的 SQLite 引擎就是用 C 编写的,内嵌在无数桌面和移动应用中;交易和遥测系统把历史数据存在数据库里;通用的软件工程面试有时也会考一道查询题。开始专属页面
  5. 5
    开始这一步开始栈、队列、链表、二叉树和哈希表,每一个都用 C++ 从零编写,然后用来解题。在这里,第一步学的指针变得真刀真枪:每个用 new 分配的节点都必须用 delete 释放,或者交给 std::unique_ptr 管理,而树的析构函数就是递归的实际应用。学完之后,在 std::vector、std::list 和 std::unordered_map 之间做选择,就是一个关于开销的决定,而不是凭习惯。开始
  6. 6
    开始这一步开始递归挑战,然后用 C++ 实现冒泡、选择、插入、归并和快速排序,这些排序在 Coddy 的算法可视化工具里都有动画演示。学完之后,有两个 C++ 事实会更好理解:递归太深会让调用栈溢出,通常直接让程序崩溃,没有任何异常可以捕获;而 std::list 有自己的 sort() 成员函数,因为 std::sort 需要链表无法提供的随机访问迭代器。开始
  7. 7
你将获得
学编程所需的一切

在实践中学习

编写真实代码、查询数据库、搭建网站、掌握 AI 提示词。我们的互动课程涵盖现代开发者需要的每一项技能。

playground.js
代码编辑器
1const greeting = "Hello, Coddy!"
2function sayHi(name) {
3    return greeting + " " + name
4}
5
bottombar Collapse icon
测试 #1test Case Success icon
测试 #2test Case Success icon
测试 #3test Case Failure icon
输入
"Alex"
输出
"Hello, Coddy! Alex"

打造你的连胜

坚持下去,看着自己不断进步!记录每天的编程习惯,用冻结天数保护连胜,每天打卡都能赢取奖励。

12 天连胜

明天再来,保持你的连胜!

fire Filled icon
left icon

January 2026

right icon

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

21

22

23

24

25

26

27

28

29

30

product Double Or Nothing icon

加倍或归零

第 5 天,共 7 天

fire Freeze icon

连胜冻结

2 left

随时随地写代码

随时随地继续你的编程学习旅程!无需配置,无需下载:打开就能写代码。支持 iOS、Android 和 Web,评分高达 4.9 星。

Python
7连胜
250分数
5能量
变量
journey Hex Done Base iconjourney Hex Done Shadow iconjourney Hex Done Top iconjourney Lesson Done icon
journey Path Right Done icon
journey Hex Done Base iconjourney Hex Done Shadow iconjourney Hex Done Top iconjourney Lesson Done icon
journey Path Left Done icon
journey Hex Active Base iconjourney Hex Active Shadow iconjourney Hex Active Top iconjourney Lesson Theory Challenge icon
继续
journey Path Right icon
journey Hex Locked Base iconjourney Hex Locked Shadow iconjourney Hex Locked Top iconjourney Lesson Theory Challenge icon
journey Path Left icon
journey Hex Locked Base iconjourney Hex Locked Shadow iconjourney Hex Locked Top iconjourney Lesson All icon
学习旅程
目标
排行榜
个人主页
4.9
星星星星星
评分

你并不孤单

在全球排行榜上一较高下,邀请好友赢取奖励,为彼此的成就喝彩。和好友一起编程更有趣!

挑战者联赛
挑战者联赛前 7 名晋级
leaderboard First icon1
avatar 1 icon
fire Filled icon
Alex7+ Days
2840
leaderboard Second icon2
avatar 2 icon
fire Filled icon
Jordan7+ Days
2650
leaderboard Third icon3
avatar 3 icon
fire Filled icon
Sam7+ Days
2420
4
avatar 4 icon
Casey
2180
5
avatar placeholder icon
fire Filled icon
Morgan7+ Days
1950
leaderboard Arrow Up icon晋级区leaderboard Arrow Up icon

多种学习方式

阅读、收听、自我测验、问 AI,或者查阅学过的任何内容。每节课都配合你的节奏。

变量入门
音频

变量是一个有名字的容器,用来存储值,方便你在程序后面引用。

在 Python 中,创建变量只需写下名字、一个等号,再写上要存储的值。

值可以随时间变化。给这个名字重新赋值,它就会指向新的值。

1xSarah

获得证书

每完成一门课程都能获得证书。把证书添加到你的 LinkedIn 个人资料和简历中,向雇主展示你的编程能力。

Coddy结业证书
兹证明张三已成功完成
python iconPython 基础
已验证
日期2026年1月
LinkedIn添加到 LinkedIn

为什么在 Coddy 走这条 C++ 学习路线

  • 为选择 C++ 的岗位量身打造。游戏引擎、交易系统、浏览器、数据库、嵌入式设备和高性能计算之所以选择 C++,是因为它能精细控制速度和内存,这些岗位都要求你清楚自己的代码有多大开销。这条学习路线从语言本身开始培养这种能力。
  • 把内存讲透,而不是藏起来。C++ 课程会讲用 new 和 delete 操作指针,然后是栈与堆、智能指针和 RAII、拷贝构造函数和移动构造函数,以及三/五/零法则:这些正是 C++ 面试反复考察的主题。
  • 自己管理内存的数据结构。第五步中的链表和二叉树由你亲手分配和释放节点,所以内存泄漏和悬空指针是你要亲自调试的问题,而不是书上读到的概念。递归挑战和五种排序算法也都用 C++ 实现。
  • 自动评分,编译错误也有人帮。每节课最后都有一道由测试用例评分的 C++ 挑战;编译器或测试报错时,Bugsy 会给你指出修复方向,但不会替你写。大多数课程结束时都有免费证书,而且不需要安装任何编译器或工具链。

关于成为 C++ 开发者的常见问题

成为 C++ 开发者需要多长时间?

比大多数语言都要久:每天学一小时左右,从零到能参加初级 C++ 面试,九到十八个月是比较现实的范围。按这个节奏,C++ 课程本身大约需要两个月,其中讲内存管理、模板和移动语义的面向对象单元要慢慢学;命令行、Git 和 SQL 大约再加一个月;数据结构和排序再要两三个月。专业岗位还要加上各自的领域知识:引擎、交易系统或单片机。

C++ 适合作为软件工程师的第一门语言吗?

它是一门要求很高的语言。你会学到内存、类型和编译到底是怎么回事,这会让以后学任何语言都更轻松,代价是一开始进展更慢、报错更不留情面。如果你已经确定要做游戏、系统或嵌入式方向,从 C++ 开始是合理的;如果还没想好,很多人会先学 Python 再学 C++,软件工程师路径页面就是这条学习路线的 Python 版本。

除了 C++ 本身,C++ 开发者还需要会什么?

命令行、Git 和 SQL,这条学习路线都会讲到;然后是语言周边的工具链:构建系统(通常是 CMake),调试器(如 GDB 或 LLDB),在运行时捕获内存错误的 sanitizer,以及包管理器(如 vcpkg 或 Conan)。再往后就是你瞄准的领域,比如游戏引擎、操作系统内核、网络或嵌入式硬件。

做系统编程,选 C++ 还是 Rust?

看现有就业市场的规模选 C++,看新项目中不断增长的份额选 Rust。游戏引擎、交易系统、浏览器和编译器大多是长期维护的 C++ 代码库,而 Rust 正在新的基础设施和安全敏感代码中扩大地盘,因为它的编译器能排除整类内存 bug。先学 C++ 会让 Rust 的规则显得很熟悉,这条学习路线也有 Rust 版本。

这条学习路线上哪门课程不是用 C++ 讲的?

只有一门:整洁代码目前只有 Python 版本,所以它列在各步骤之后,而不是放在第七步。它讲的命名、短小的函数和清晰的职责与语言无关,学完之后,C++ Core Guidelines 会把同样的思路应用到 C++ 上。其他每一步,包括面向对象项目和编程题,都是用 C++ 讲的。

这条 C++ 学习路线免费吗?

免费。路线上的每门课程都免费:课程内容、浏览器里的 C++ 编译器和 Linux 终端、由测试评分的挑战、Bugsy 的提示以及证书。Pro 会取消每日能量限制,并提供无限 AI 帮助,但这条学习路线上没有任何内容需要 Pro。

完成软件工程师路径能获得证书吗?

能。完成每一步,你就能获得整条软件工程师路径的一张免费证书。证书会列出你沿途完成的每门课程,并链接到每门课程各自的证书,任何人都能核实上面列出的每项技能。你可以把它添加到 LinkedIn 个人资料。这是 Coddy 颁发的结业证书,不是经过认证的学历资格。

其他学习路径

同样的课程,按不同职业方向编排。进度会保留:在一条路径上完成的课程,在所有包含它的路径上都算完成。

全部学习路径
Coddy 编程语言插图

免费开始软件工程师路径

开始学习