C++ 语言教程

本教程是 C++ 语言的完整 16 篇入门系列,参考 runoob.com/cplusplus/ 的结构,面向零基础初学者。从环境安装、基础语法一路讲到指针引用、面向对象、模板、STL 与智能指针,每一篇都配有可运行的代码示例。

C++ 是 Bjarne Stroustrup 在 1979 年(最初叫 "C with Classes")基于 C 语言扩展出来的一门静态编译型语言。它既保留了 C 的底层性能与可控性,又加入了面向对象、泛型编程、异常处理等现代特性,是游戏引擎、操作系统、数据库、浏览器、AI 框架(TensorFlow/PyTorch 底层)的中坚力量。

先看一个 C++ 程序

下面是最简单的 C++ 程序,先感受一下它的样子:

#include <iostream>
using namespace std;

int main() {
    cout << "Hello, C++!" << endl;
    return 0;
}
// 输出: Hello, C++!

看起来和 C 几乎一样?没错,C++ 完全兼容 C 的语法。但用了 cout(读作 see-out)替代了 printf,不用再操心格式化字符串与参数类型不匹配的问题。

全部 16 篇子教程

建议按顺序学习,每天 1~2 篇,两周即可入门。

  1. C++ 语言简介 — 历史、特点与应用场景
  2. C++ 环境搭建 — g++/clang 编译、IDE 选择、Hello World
  3. C++ 基础语法 — 程序结构、注释、关键字
  4. C++ 变量 — 声明、初始化、作用域
  5. C++ 数据类型 — 整型、浮点、字符、布尔
  6. C++ 运算符 — 算术、关系、逻辑、位运算
  7. C++ 控制流 — if/else、switch、for、while
  8. C++ 函数 — 参数传递、默认值、函数重载、lambda
  9. C++ 引用 — 引用与指针的对比
  10. C++ 类与对象 — 面向对象基础、构造析构
  11. C++ 继承 — 派生、多态、虚函数
  12. C++ 模板 — 函数模板、类模板、STL 的基石
  13. C++ STL — vector、map、algorithm 容器算法
  14. C++ 内存管理 — new/delete、智能指针
  15. C++ 异常 — try/catch/throw、异常安全
  16. C++ 文件 IO — ifstream/ofstream 读写文件

推荐学习路径

如果你是完全的零基础,建议按下面 4 个阶段推进,每个阶段都建立在前一个之上:

每篇都建议你边读边敲:把示例代码复制到本地,改一改、跑一跑,看输出是否和预期一致。编程是"手艺活",光看不练记不住。

关于难度

C++ 经常被吐槽"难学"。这话没错——它的语法庞大(C++20 标准有 100+ 关键字,远超 C 的 32 个)、历史包袱重(兼容了 40 年的 C 代码)、给程序员的权利过大(可以直接操作内存,稍不留神就段错误)。但作为回报:

本系列会避开过度学术化的细节(比如 C++20 concepts、模板元编程),只聚焦工程师真正需要掌握的核心,让你读完就能写代码。

开始学习

准备好了吗?从第一篇开始 → C++ 语言简介

✈️💬