Skip to content

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 - 中文维基百科【维基百科中文版网站】

C++11 | encyclopedia article by TheFreeDictionary

C++标准和草案 - 知乎 (zhihu.com)

Get Started! : Standard C++ (isocpp.org)

Current Status : Standard C++ (isocpp.org)

GitHub - cplusplus/draft: C++ standards drafts

跟踪

持续关注和跟踪C++草案等最新动态。

CppCon

// TODO

开源项目和库

nametypedesccomment
Qtframework
Boost
Poco
STL
abseil
gflag
mudoo
magic_enum
http_parser
protobuf
libbpf
grpc-core
peonyproject
sogou workflowsframework
xdo-tool
pixieproject
kernelproject

书籍&网站

始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

C++ Developer Roadmap

Respect

Bjarne Stroustrup

Herb Sutter

Hans Boehm

Anthony Williams

Scott Meyers