everystep 是我长期在做的一个技术写作项目,围绕 C++、系统与工程实践等主题,用可以落地的故事、例子和代码,帮你把看起来很复杂的东西拆成一小步一小步。
这个仓库收录了我在 everystep 网站上写的专栏与文章原文,也欢迎你一起完善、校对、补充。
目前正在更新和打磨的方向包括(持续扩展中):
-
C++ 基础:
- 面向已经写过 C 的读者,带你真正“切换到 C++ 思维”。
- 不追求一次讲完所有语法,而是优先讲清:类型系统、指针与内存、函数与接口、代码组织方式等。
-
Modern C++:
- 围绕 C++11/14/17/20,解释新特性的动机、典型用法和常见坑。
- 更关注“在真实工程里怎么用”,而不是罗列语法表。
-
C++ 对象模型与多线程:
- 理解对象在内存中的布局、虚函数表、多态成本等“底层细节”;
- 结合内存模型与并发场景,讨论在多线程环境下写对 C++ 的实践经验。
-
Qt 框架与桌面开发:
- 从零开始搭建小工具、小应用,讨论信号槽、事件循环、UI 设计等话题。
-
计算机基础:
- 聚焦“写代码的人真正需要的那部分”计算机组成与系统知识,尽量用直观比喻和例子来讲。
未来会逐步加入更多与工程实践、调试技巧、项目经验相关的内容。
文章按主题存放在 content/ 目录下,示意结构大致如下:
everystep/
content/
cpp-basics/ # C++ 基础专栏
cpp-modern/ # Modern C++ 专栏
cpp-object-model/ # C++ 对象模型专栏
cpp-threading/ # C++ 多线程专栏
qt-framework/ # Qt 框架学习
computer-organization/ # 计算机组成原理
...
- 每个子目录通常代表一个专栏或主题;
index.md是该专栏的总览页,其余文件是具体文章。
- 你可以直接在 GitHub 中浏览
content/目录下的 Markdown 文件; - 也可以在 everystep 网站上阅读排版后的版本(支持目录导航、搜索、代码高亮等)。
无论在哪种形式下阅读,我希望你能比较轻松地“跟着文章往前走”,而不是被堆砌的概念劝退。
- 从读者的真实困惑出发:每一篇文章都尽量回答“这个东西为什么难?卡在哪?”
- 可以落地的收获:看完之后,读者应该能多写对一点真实代码,而不是只多记住几个术语。
- 适度的底层细节:该下潜的时候会认真画图、举例,但尽量避免为了炫技而堆细节。
- 诚实地说“不知道”和“有坑”:对于存在争议或需要权衡的地方,会明确写出边界和 trade-off。
如果你也认同这套写作风格,非常欢迎直接在这个仓库里参与修改与补充。
你可以按自己舒适的方式参与:
-
改错别字 / 修正文案:
- 直接在 GitHub 的网页上编辑相应的 Markdown,发起 Pull Request;
- 或者提一个 Issue,指出具体位置和建议修改的内容。
-
补充示例 / 图示 / 经验:
- 在相关章节下追加代码示例、图示说明或实践经验;
- 建议在 PR 里简单说明:
- 为什么要补这一段?
- 你希望读者读完多获得哪一点新的直觉?
-
提出你想看的主题:
- 可以在 Issue 中写下你目前最困惑的几点,比如:
- “从 C 迁移到 C++ 时,哪一块最让你不安?”
- “最近在项目里遇到的 C++/系统相关问题。”
- 这些都会直接影响后续专栏的选题优先级。
- 可以在 Issue 中写下你目前最困惑的几点,比如:
无论是一个小小的 typo,还是一篇完整的文章,都是非常宝贵的贡献。
everystep 不是一本“写完就封存”的书,而是一个会长期更新、不断修正和打磨的知识库。
感谢所有在阅读过程中提过问题、指出错误、分享经验的朋友——正是这些反馈,让这些内容可以一步一步变得更清晰,也更接近真实世界的工程实践。
如果你愿意,也可以把这个仓库分享给正在学习 C++、系统或工程实践的同学和同事,让更多人一起把这些内容写得更好。