[ 2025.4.18更新 ]

第一阶段:语言入门(基础语法)

目标:理解 C++ 的基本语法和程序结构,能编写简单程序。

1. C++ 概述 学习C++入门

  • 什么是 C++
  • C 与 C++ 的区别
  • C++ 的应用领域(系统开发、游戏、嵌入式、高性能计算)

2. 开发环境配置 学习C++环境

  • 安装编译器(GCC / Clang / MSVC)
  • 配置 IDE(Visual Studio / CLion / VSCode)
  • 编译与运行第一个程序

3. 基本语法


第二阶段:函数与结构化编程

目标:掌握函数调用机制,理解作用域与代码组织方式。

1. 函数 学习函数

  • 函数声明与定义
  • 值传递与引用传递
  • 默认参数
  • 函数重载(静态多态)
  • lambda匿名函数 学习匿名函数

2. 代码组织


第三阶段:内存管理与指针机制

目标:掌握 C++ 内存模型与指针使用,理解智能指针用法。

1. 指针与引用

2. 动态内存管理 学习内存模型

3. 智能指针(C++11 起) 学习RAII智能指针

  • unique_ptr
  • shared_ptr / weak_ptr
  • 生命周期与引用计数

第四阶段:面向对象编程(OOP)

目标:掌握 C++ 的类与继承体系,理解多态和虚函数原理。

1. 类与结构体 学习面向对象

  • 成员变量与成员函数
  • 构造函数、析构函数
  • this 指针与对象拷贝
  • 结构体和枚举

2. 面向对象三大特性

3. C++ 特有规则


第五阶段:模板与元编程

目标:掌握泛型编程能力,了解模板高级特性。

1. 模板基础 学习模板基础

  • 函数模板、类模板
  • 模板参数推导

2. 高级模板技巧 学习模板高级技巧

  • 偏特化与全特化
  • 可变参数模板(Variadic Templates)
  • SFINAE(Substitution Failure Is Not An Error)
  • Type Traits 与模板元编程

3. 常用模板编程 Idioms 学习模板Idioms

  • CRTP(Curiously Recurring Template Pattern)
  • Pimpl(指针隐藏实现)

第六阶段:标准库与 STL 容器

目标:熟练使用 STL 提供的容器与算法。

1. 容器

2. 算法与迭代器

3. 工具类 学习工具类

  • std::string
  • 时间处理
  • std::optional / std::variant / std::any(C++17)

第七阶段:异常处理与调试工具

目标:掌握错误处理机制,能使用调试器排查问题。

1. 异常处理 学习异常

  • try / catch / throw
  • 自定义异常类
  • 程序崩溃原因与访问违规

2. 调试器与工具链 学习调试工具

  • GDB / WinDbg 调试技巧
  • 编译阶段与调试符号
  • 断点、内存查看、调用栈

第八阶段:构建系统与依赖管理

目标:了解项目构建流程与常用包管理工具。

1. 构建系统

  • Makefile
  • CMake
  • Ninja 构建系统

2. 包管理工具

  • vcpkg
  • Conan
  • NuGet / Spack

第九阶段:现代 C++ 与生态实践

目标:掌握 C++11/14/17/20 标准中的重要特性。

1. 自动类型推导 学习auto自动推导

  • auto、decltype、constexpr

2. 并发与多线程 学习多线程

3. 第三方库与框架

  • 图形界面:Qt
  • 数学/图像:OpenCV、Eigen
  • 网络与 RPC:Boost、gRPC、POCO
  • 机器学习:TensorFlow C++、PyTorch C++

4. 日志与测试框架

  • 日志库:spdlog、fmt
  • 单元测试:gtest、Catch2

附录:推荐资源与学习建议

推荐资源:

学习建议:

  • 一边学语法一边写小项目(如图书管理系统、贪吃蛇)
  • 多阅读开源库源码理解底层设计
  • 持续关注 C++ 标准演进(C++20 / C++23)

去1:1私密咨询