Skip to content

C++ 学习路径

cpp/10_learning 中的项目都很小,但每个项目只回答一个清晰的问题。Wiki 文章会把代码中的实验提升为可以复习、讨论和复用的知识。

三篇起步文章

顺序文章对应项目核心问题
01语法糖与语法盐004_syntactic_sugar什么时候让编译器替我们少写一点,什么时候故意要求显式?
02封装与不变性002_class_encapsulation状态和改变状态的规则应该由谁负责?
03struct 还是 class003_struct_vs_class类型的公开程度应该由什么设计信号决定?

推荐阅读方法

先运行对应项目,再读文章中的结论。阅读代码时,优先寻找三件事:

  • 哪些状态是公开的,哪些状态只能通过行为改变?
  • 哪些规则在构造时建立,又在哪些函数中持续维护?
  • 如果删掉注释,只看命名和接口,代码还能否说明自己的意图?

Keep the code clear. Keep the boundary small.