Appearance
C++ Overview.
目标
ohh: 学习如果得不到实践,都是徒劳。最好的学习方式是实践,写多了了就熟了。
- 阅读 C++ 书籍、了解 C++ 相关的标准、提案、官网等等相关信息
C++11:
能够分辨 C++98 与 C++11 的代码,区别之间的差异
掌握 C++11 语言新特性,辨析模糊概念
掌握模板泛型编程、STL剖析、模板元编程等概念
掌握标准库新增特性,阅读标准库源码
掌握 现代 C++ 的一些编程技巧
C++17:
- // TODO
C++20:
- // TODO
历史
C++98 --> C++11(目前我使用) --> C++ 14 --> C++17(下一步进阶) --> C++20 ---> C++ 23 ......
通过下图 C++ 的发展时间线可以看到:
C++11 是 modern C++
C++14 对 C++11 做了小扩展
C++17是大型扩展
C++20继C++17之后的C++编程语言的ISO/IEC标准修订版的名称.

图片来源: https://isocpp.org
C++98
// TODO
C++11
新增约140个新特性,以及对C++03标准中约600个缺陷的修正。
// TODO 引用 cpp11.md
C++14
C++ 小版本,还是重点看 C++17,filesystem 在 C++14 后才被加入支持。
// TODO )引用 cpp14.md
C++17/C++20
// TODO
标准和提案
技术勘误表 technical corrigendum TC
委员会草案 committee draft CD
最终委员会草案 final committee draft FCD
最终国际化标准草案 final draft international standard FDIS
ISO/IEC 14882:2011
ISO WG21:ISO C++委员会,具体指JTC1/SC22/WG21 C++技术工作小组,通常简写成WG21,WG即Working Group。
JTC Joint Technical Committee
IEC international electrotechnical commission 国际电工委员会
C++11 | encyclopedia article by TheFreeDictionary
Get Started! : Standard C++ (isocpp.org)
Current Status : Standard C++ (isocpp.org)
GitHub - cplusplus/draft: C++ standards drafts
跟踪
持续关注和跟踪C++草案等最新动态。
CppCon
// TODO
开源项目和库
| name | type | desc | comment |
|---|---|---|---|
| Qt | framework | ||
| Boost | |||
| Poco | |||
| STL | |||
| abseil | |||
| gflag | |||
| mudoo | |||
| magic_enum | |||
| http_parser | |||
| protobuf | |||
| libbpf | |||
| grpc-core | |||
| peony | project | ||
| sogou workflows | framework | ||
| xdo-tool | |||
| pixie | project | ||
| kernel | project |
书籍&网站
始2022年国庆。
可以不定时地更新至reading-plan.md文件。
《C++ 程序设计语言(第 1 - 3 部分)(原书第 4 版)》 2022年11月读。
《C++ Templates 中文版》2022年末阅读。
《深入理解C++11:C++11新特性解析与应用》 2023年初阅读。
《Boost程序库完全开发指南――深入C++”准”标准库(第5版)》 2023年初阅读。
待读:
《深入实践C++模板编程》
《深入探索C++对象模型》
《More C++ idioms》
《C++新经典:模板与泛型编程》
《C++新经典》
《Qt中的C++技术》2读
《C++编程思想 (第2版) 第1卷:标准C++导引》 黑皮书
《C++编程思想 第2卷 实用编程技术》 黑皮书
《C++程序设计 基础、编程抽象与算法策略》 黑皮书
《C++沉思录》
《C Primer Plus》
《C语言解惑》
《C专家编程》
《C语言编程魔法书:基于C11标准》
《C和指针》
《C陷阱与缺陷:C语言调试指南》
《C语言开发技术详解》
编程技巧&规范
More C++ Idioms
C++ Core Guidelines
Google C++ Style Guide
Respect
Herb Sutter
Hans Boehm
Anthony Williams
Scott Meyers