cpplab

  • cpplab是一个教程,试图基于实验的方式来理清C++的各种知识点。
  • 本仓库所有代码都在wandabox.org上验证过,也建议使用wandbox.org来运行代码,能够支持多文件编译,并且也比较稳定。
  • 有一些实验代码来自cppreference.com,已经足够优秀,为了保证教程的完整性,本教程会将其代码拷贝下来,但是会注明出处。
  • changkun/modern-cpp-tutorial是一本非常优秀的C++书籍,但是本教程会更加着重讲述特性的使用场景,让读者明白特性设计动机,并更积极地去使用。
  • BartVandewoestyne/Cpp是一个优秀的教程,也是以实验为基本单元,但是缺少文档讲解,更缺少像书本一样的目录结构,想要抱着问题找答案,比较困难。
  • Kobzol/hardware-effects是一个优秀的教程,讲述关于CPU编程中的硬件利用效率,但本教程会试图涵盖更多的话题,例如语法、STL、设计模式等。

在这里,我们把所有的话题分为3个级别:特性、规则、语法糖。

  • [特 性]:对开发效率或者执行效率有提升,我们应该使用。
  • [规 则]:其他特性的附加内容,对开发效率和执行效率没有明显提升,但是如果不知道,可能会踩到坑,例如编译失败或者程序结果不符合预期。
  • [语法糖]:对开发效率有提升,用了可以让代码更简洁,但不用也没有关系。

每个话题的标题会标记相应的级别。

目录