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 篇,两周即可入门。
- C++ 语言简介 — 历史、特点与应用场景
- C++ 环境搭建 — g++/clang 编译、IDE 选择、Hello World
- C++ 基础语法 — 程序结构、注释、关键字
- C++ 变量 — 声明、初始化、作用域
- C++ 数据类型 — 整型、浮点、字符、布尔
- C++ 运算符 — 算术、关系、逻辑、位运算
- C++ 控制流 — if/else、switch、for、while
- C++ 函数 — 参数传递、默认值、函数重载、lambda
- C++ 引用 — 引用与指针的对比
- C++ 类与对象 — 面向对象基础、构造析构
- C++ 继承 — 派生、多态、虚函数
- C++ 模板 — 函数模板、类模板、STL 的基石
- C++ STL — vector、map、algorithm 容器算法
- C++ 内存管理 — new/delete、智能指针
- C++ 异常 — try/catch/throw、异常安全
- C++ 文件 IO — ifstream/ofstream 读写文件
推荐学习路径
如果你是完全的零基础,建议按下面 4 个阶段推进,每个阶段都建立在前一个之上:
- 阶段 1 打地基:简介 → 环境搭建 → 基础语法 → 变量 → 数据类型。先能在本地跑起来代码,看懂最简单的程序。
- 阶段 2 控制与函数:运算符 → 控制流 → 函数 → 引用。学会让程序"做判断、重复干活、组织代码"。
- 阶段 3 面向对象:类与对象 → 继承 → 模板。掌握 C++ 区别于 C 的最大杀手锏——抽象与复用。
- 阶段 4 工程化:STL → 内存管理 → 异常 → 文件 IO。学会用标准库与智能指针,写出工业级代码。
每篇都建议你边读边敲:把示例代码复制到本地,改一改、跑一跑,看输出是否和预期一致。编程是"手艺活",光看不练记不住。
关于难度
C++ 经常被吐槽"难学"。这话没错——它的语法庞大(C++20 标准有 100+ 关键字,远超 C 的 32 个)、历史包袱重(兼容了 40 年的 C 代码)、给程序员的权利过大(可以直接操作内存,稍不留神就段错误)。但作为回报:
- 它性能极致:接近 C,远超 Java/Python。
- 它应用广泛:游戏、量化、嵌入式、图形、数据库、AI 底层都缺它不可。
- 它学透后其他语言触类旁通:学懂 C++ 的人,看 Java/C#/Rust/Go 都会觉得"轻巧"。
本系列会避开过度学术化的细节(比如 C++20 concepts、模板元编程),只聚焦工程师真正需要掌握的核心,让你读完就能写代码。
开始学习
准备好了吗?从第一篇开始 → C++ 语言简介