Skip to content

参考资料

本页面汇总了 C++ 学习和工程实践中最重要的参考资料。所有可合法免费获取的资源均已下载到 references/ 目录。


ISO 标准工作草案(已下载)

所有标准草案均可免费获取自 WG21 Papers

版本文档编号说明大小
C++98/03N13962002 工作草案(含 C++98 与 TC1 修正)992 KB
C++11N3337C++11 最终工作草案(2012-01-16)4.9 MB
C++14N4296C++14 工作草案(2014-10-07)12 MB
C++17N4659C++17 最终工作草案(2017-03-21)6.2 MB
C++20N4861C++20 最终工作草案(2020-04-10)6.8 MB
C++23N4950C++23 最终工作草案(2023-05-10)7.7 MB
C++26N5008C++26 当前工作草案(2025-03-15)8.9 MB

路径references/standards/

如何阅读标准文档

标准文档不是教程——它是规范性参考(normative reference)。

  1. 查找特定行为:用 Ctrl+F 搜索关键词
  2. 理解条款结构:§1-§6 通用规则,§7-§22 核心语言,§23-§33 标准库
  3. 对照 cppreference:先看简明解释,再回标准查精确语义

离线参考资料(已下载)

cppreference 离线文档(2025-02-09)

完整的 C/C++ 参考文档离线版,覆盖 C++26 最新特性。

  • 路径references/cppreference/cppreference-doc-20250209/reference/en/index.html
  • 使用:浏览器直接打开 index.html
  • 来源cppreference.com | GitHub

C++ Core Guidelines(Stroustrup & Herb Sutter)


已下载书籍

以下书籍 PDF 已下载到本地。

入门与概览

书名作者说明路径
Modern C++ Tutorial: C++11/14/17/20欧长坤 (Changkun Ou)快速上手现代 C++books/Modern-Cpp-Tutorial-en-us.pdf
Think C++Allen Downey面向初学者,渐进式方法books/think-cpp.pdf
21st Century C++Bjarne StroustrupC++ 之父的现代 C++ 思考books/21st-Century-Cpp-Stroustrup.pdf

现代 C++ 综合

书名作者说明路径
Modern C++ Programming (C++03~C++26)Federico Busato30MB 全面教程,覆盖所有版本books/Modern-CPP-Programming-Busato.pdf
Mastering Modern C++23SimplifyC++C++23 新特性完整指南books/simplifycpp-mastering-modern-cpp23.pdf
C++ Best PracticesJason Turner工程实践指南books/cpp-best-practices.pdf

STL 专项

书名作者说明路径
Mastering STLSimplifyC++STL 深度剖析books/simplifycpp-mastering-stl.pdf
Mastering STL in C++23SimplifyC++C++23 STL 新特性与最佳实践books/simplifycpp-mastering-stl-cpp23.pdf

OOP 与设计模式

书名作者说明路径
OOP in Modern C++SimplifyC++面向对象设计与现代 C++ 实现books/simplifycpp-oop-modern-cpp.pdf

并发与原子操作

书名作者说明路径
Atomic OperationsSimplifyC++原子操作权威指南books/simplifycpp-atomic-operations.pdf

Mini Booklets(速查手册)

SimplifyC++ 提供的精炼速查手册,适合快速查阅。

手册说明路径
C++ 低层优化性能优化技巧与底层细节books/minibooklets/cpp-low-level-optimization.pdf
原子操作指南原子操作完全手册books/minibooklets/atomic-operations-guide.pdf
模板元编程模板元编程核心概念books/minibooklets/template-metaprogramming.pdf
现代 C++ 最佳实践黄金原则速查books/minibooklets/best-practices-modern-cpp.pdf
STL 速查STL 容器与算法速查books/minibooklets/stl-mini-booklet.pdf

Cookbook 代码仓库(已下载)

以下 Packt 出版的 Cookbook 系列书籍的配套代码已下载到 references/books/cookbook-code/。书籍本身需购买,但代码仓库公开可用,可直接学习和运行。

书名作者代码路径购买链接
C++17 STL CookbookJacek Galowiczcookbook-code/Cpp17-STL-Cookbook/Packt
C++20 STL CookbookBill Weinmancookbook-code/CPP-20-STL-Cookbook/Packt
C++23 STL Cookbook (2nd ed.)Bill Weinmancookbook-code/C-23-STL-Cookbook-Second-Edition/Packt
Modern C++ Programming Cookbook (3rd ed.)Marius Bancilacookbook-code/Modern-Cpp-Programming-Cookbook-Third-Edition/Packt
Advanced C++ Programming CookbookDr. Rian Quinncookbook-code/Advanced-CPP-Programming-CookBook/Packt
Hands-On System Programming with C++Dr. Rian Quinncookbook-code/Hands-On-System-Programming-with-CPP/Packt
C++ High Performance (2nd ed.)Björn Andrist & Viktor Sehrcookbook-code/Cpp-High-Performance-Second-Edition/Packt
Building Low Latency Applications with C++Sourav Ghoshcookbook-code/Building-Low-Latency-Applications-with-CPP/Packt
CMake CookbookRadovan Bast & Roberto Di Remigiocookbook-code/CMake-Cookbook/Packt
Design Patterns in Modern C++ (2nd ed.)Dmitri Nesterukcookbook-code/design-patterns-in-modern-cpp/Apress
Boost C++ CookbookAntony Polukhincookbook-code/Boost-Cookbook/Packt
AwesomePerfCpp (资源列表)Bartłomiej Filipekcookbook-code/AwesomePerfCpp/GitHub

如何获取付费书籍

Internet Archive 合法借阅(推荐)

以下书籍在 Internet Archive 上可通过 Controlled Digital Lending (CDL) 合法借阅。注册免费账户即可在线阅读(每次借阅 1 小时,可续借)。

书名作者Internet Archive 链接
Effective Modern C++Scott Meyers借阅
More Effective C++Scott Meyers借阅
C++ Primer (早期版)Stanley B. Lippman借阅
The C++ Standard Library (1st ed.)Nicolai M. Josuttis借阅
C++ Templates (1st ed.)David Vandevoorde et al.借阅

使用方法:访问链接 → 点击 "Borrow" → 登录或注册 → 在线阅读。无需下载,浏览器内阅读。

出版商官方样本章节(已下载)

以下书籍的出版社官方样本 PDF 已下载到 references/books/samples/,包含目录和部分章节内容。

书名作者样本内容路径
The C++ Standard Library (2nd ed.)Nicolai M. Josuttis目录 + 部分章节samples/Josuttis-CppStandardLibrary-sample.pdf
C++ Templates: The Complete Guide (2nd ed.)Vandevoorde et al.目录 + 部分章节samples/Vandevoorde-CppTemplates-sample.pdf
C++ Primer (5th ed.)Lippman et al.目录 + 部分章节samples/Lippman-CppPrimer-sample.pdf
Modern C++ DesignAndrei Alexandrescu目录 + 部分章节samples/Alexandrescu-ModernCppDesign-sample.pdf

其他合法获取途径

  • O'Reilly Learning:订阅制,包含绝大多数 C++ 书籍的完整电子版。很多大学/公司有机构订阅。oreilly.com
  • 公共图书馆:通过 OverDrive/Libby 应用,可用图书馆卡免费借阅电子书。overdrive.com
  • 大学图书馆:大多数大学图书馆有 O'Reilly、Springer、Packt 等出版社的电子书访问权限。
  • Leanpub:部分书籍(如 Josuttis 的 C++17/20/23 Complete Guide 系列)在 Leanpub 上以合理价格出售。leanpub.com

推荐书籍(付费)

以下书籍是 C++ 领域公认的经典和权威著作,按主题分类,建议按需购买。

入门经典

书名作者推荐理由
A Tour of C++ (3rd ed., C++20)Bjarne StroustrupC++ 之父的概览,快速建立全局认知
Programming: Principles and Practice Using C++ (3rd ed.)Bjarne Stroustrup面向初学者的系统性教材
C++ Primer (5th ed.)Stanley B. Lippman et al.最详尽的入门参考书(C++11)
Head First C++David Griffiths & Dawn Griffiths图文并茂的入门书

Effective 系列与工程实践

书名作者推荐理由
Effective C++ (3rd ed.)Scott Meyers55 条经典建议,C++ 工程师必读
Effective Modern C++Scott Meyers42 条 C++11/14 最佳实践,必读
Effective STLScott Meyers50 条 STL 使用建议
More Effective C++Scott Meyers35 条进阶建议(异常安全、效率)
C++ Coding StandardsHerb Sutter & Andrei Alexandrescu101 条编码规范
Exceptional C++Herb Sutter问题-解答式深入 C++
More Exceptional C++Herb Sutter续篇,覆盖异常安全与泛型
Exceptional C++ StyleHerb Sutter第三本,聚焦工程风格
C++ GotchasStephen Dewhurst常见陷阱与解决方案

STL 与泛型编程

书名作者推荐理由
The C++ Standard Library (2nd ed.)Nicolai M. JosuttisSTL 权威参考(C++11)
STL Tutorial and Reference GuideDavid R. Musser et al.STL 经典教程
The C++ Standard Template LibraryP. J. Plauger et al.STL 实现细节
Generic Programming and the STLMatthew H. Austern泛型编程理论与 STL 设计
C++ STL Programmer's GuideMark NelsonSTL 实用指南

模板与元编程

书名作者推荐理由
C++ Templates: The Complete Guide (2nd ed.)David Vandevoorde et al.模板圣经,覆盖 C++17
Modern C++ DesignAndrei Alexandrescu策略驱动设计,模板元编程经典
C++ Template MetaprogrammingDavid Abrahams & Aleksey GurtovoyBoost.MPL 背后的理论
Advanced Metaprogramming in Classic C++Mario RussoSpringer 出版,深度元编程

并发与多线程

书名作者推荐理由
C++ Concurrency in Action (2nd ed.)Anthony Williams多线程编程权威指南(C++17)
Pro TBBMichael Voss et al.Intel TBB 并行编程
The Art of Multiprocessor ProgrammingMaurice Herlihy & Nir Shavit并发算法理论基础

性能优化

书名作者推荐理由
Optimized C++Kurt Guntheroth性能优化系统性方法
C++ High Performance (2nd ed.)Björn Andrist & Viktor Sehr现代 C++ 性能优化
Building Low Latency Applications with C++Sourav Ghosh低延迟系统开发(金融/HFT)
Agner Fog 优化手册 (免费)Agner FogCPU 微架构与汇编优化

现代 C++ 进阶(按版本)

书名作者覆盖版本推荐理由
Effective Modern C++Scott MeyersC++11/14必读
C++17 in DetailBartłomiej FilipekC++17特性深度剖析
C++20 in DetailBartłomiej FilipekC++20特性深度剖析
C++23 - The Complete GuideNicolai M. JosuttisC++23权威参考
C++17 - The Complete GuideNicolai M. JosuttisC++17权威参考
C++ Move SemanticsNicolai M. JosuttisC++11+移动语义完整剖析

设计与架构

书名作者推荐理由
Design Patterns in Modern C++ (2nd ed.)Dmitri NesterukGoF 模式的现代 C++ 实现
Large-Scale C++ Software DesignJohn Lakos大型项目的物理设计(头文件/链接)
API Design for C++Martin Reddy库设计实践
Practical C++ DesignAdnan Aziz从编程到架构
Head First Design PatternsEric Freeman et al.设计模式入门(Java 但概念通用)

深度与底层

书名作者推荐理由
Inside the C++ Object ModelStanley B. Lippman对象模型的底层实现(虚表/内存布局)
The C++ Programming Language (4th ed.)Bjarne StroustrupC++ 百科全书(C++11)
C++ Under the HoodMathieu Nayrolles编译器内部实现

CMake 与构建系统

书名作者推荐理由
CMake CookbookRadovan Bast & Roberto Di RemigioCMake 实战食谱
Professional CMakeCraig ScottCMake 权威指南
Modern CMake (在线免费)多位作者modern-cmake.github.io

Boost 库

书名作者推荐理由
Boost C++ Libraries (在线免费)Boris Schälingtheboostcpplibraries.com
Boost CookbookAntony PolukhinBoost 库实用食谱

在线资源

权威参考

资源URL说明
cppreferenceen.cppreference.com最权威的在线参考
C++ Reference (isocpp)isocpp.orgISO C++ 官方网站
WG21 Papersopen-std.org/jtc1/sc22/wg21标准委员会论文库
C++ Core Guidelinesisocpp.github.io/CppCoreGuidelines编码规范

学习与交互

资源URL说明
Learn C++learncpp.com系统性在线教程
C++ Insightscppinsights.io查看编译器展开后的代码
Compiler Explorergodbolt.org在线编译器
CppQuizcppquiz.orgC++ 语言陷阱测验

博客与深度文章

资源URL说明
C++ Storiescppstories.comBartłomiej Filipek 的深度文章
Herb Sutter's Blogherbsutter.com标准委员会主席博客
Fluent C++fluentcpp.com表达力强的 C++ 代码
Modernes C++modernescpp.comRainer Grimm 的 C++ 教程
Abseil C++ Tipsabseil.io/tipsGoogle 内部 C++ 最佳实践
SimplifyC++simplifycpp.orgC++ 教程与免费书籍

编译器文档

资源URL
GCCgcc.gnu.org/onlinedocs
Clangclang.llvm.org/docs
MSVClearn.microsoft.com/en-us/cpp

性能优化资源

资源URL说明
AwesomePerfCppgithub.com/fenbf/AwesomePerfCppC++ 性能优化资源列表
Agner Fog 优化手册agner.org/optimizeCPU 微架构权威参考(免费)

重要提案与论文

论文编号主题
Move SemanticsN2118移动语义原始提案
Rvalue ReferenceN1952右值引用设计
LambdaN2550Lambda 原始提案
Memory ModelN1911内存模型原始提案
ConceptsP2095R0Concepts 最终形态
ReflectionP2996R8C++26 反射提案
ContractsP2900R14C++26 契约提案

本资料库将持续更新。如有重要遗漏,请在 GitHub 提出 Issue。

基于 MIT 许可发布