> 来自 [C++那些事网站](https://light-city.github.io/stories_things/cplusplus-things-overview/) 的文章,由站点同步脚本导出。 # 项目概要 ## 1. 项目概述 - 中文名:[**C++那些事**](https://github.com/Light-City/CPlusPlusThings) - 英文名:[**Stories About C Plus Plus or CPlusPlusThings**](https://github.com/Light-City/CPlusPlusThings) **C++ 那些事** 是一个面向 C++ 初学者和进阶开发者的开源学习项目。该项目旨在帮助学习者从 C++ 的基础入门到高级进阶,涵盖从语法基础、面向对象编程、模板编程、STL 使用,到多线程并发、内存管理、性能优化等高级主题。此外,项目还深入分析了一些经典的开源库和框架的源码,帮助开发者更好地理解 C++ 在实际项目中的应用。 ## 2. 项目目标 - **入门到进阶**:为初学者提供一个系统化的学习路径,帮助他们从零基础逐步掌握 C++ 的核心概念和高级特性。 - **面试准备**:为求职者提供常见 C++ 面试题的解析和实战演练,帮助他们在面试中脱颖而出。 - **源码分析**:通过分析经典开源项目的源码,帮助开发者深入理解 C++ 的设计模式和实现原理。 - **多线程与并发**:深入探讨 C++ 中的多线程编程和并发控制,帮助开发者编写高效、安全的并发程序。 - **性能优化**:介绍 C++ 中的性能优化技巧,帮助开发者编写高效的代码。 ## 3. 项目内容 **C++ 那些事** 项目内容丰富,涵盖了 C++ 的各个方面,主要包括以下几个模块: - **基础进阶** - **关键字与特性**:如 `const`、`static`、`this`、`inline`、`sizeof`、`virtual`、`volatile`、`explicit`、`friend`、`using`、`::`、`enum`、`decltype` 等关键字的详细解析。 - **函数与指针**:函数指针、纯虚函数和抽象类、`vptr_vtable` 等。 - **数据结构**:`struct`、`union`、位域、引用与指针的区别等。 - **C 实现 C++ 多态**:通过 C 语言实现 C++ 的多态特性。 - **宏与断言**:宏的定义与使用、`assert` 的使用场景。 - **实战系列** - **10 日狂练**:通过 10 天的密集练习,快速提升 C++ 编程能力。 - **重点实战练习**:针对 C++ 中的重点难点进行实战演练,巩固所学知识。 - **STL 源码剖析** - **容器**:`array`、`deque`、`queue`、`stack`、`list`、`vector`、`rb_tree`、`set`、`multiset`、`map`、`multimap`、`hashtable`、`unordered_map` 等容器的源码分析。 - **迭代器与特性**:`iterator`、`traits`、`typename` 等。 - **EBO 优化**:STL 设计中的空基类优化(EBO)技术。 - **C++2.0 新特性** - **C++11 新特性**:如自动类型推导、Lambda 表达式、右值引用、智能指针等;另见站内 [C++11 专题](modern-cpp/cpp11/index.md)。 - **C++17 / C++20**:[C++17 专题](modern-cpp/cpp17/index.md)、[C++20 专题](modern-cpp/cpp20/index.md)。 - **拓展专题** - **语言机制深入**:mutable、const 全家桶、ABI、尾递归等(见导航「基础进阶 → 语言机制深入」)。 - **内存与调试**、**性能测评**、**项目实战**、**阅读与技巧**:独立导航栏目,含 AddressSanitizer、Benchmark、pybind11、gRPC 等实战文。 - **设计模式** - **常见设计模式**:如单例模式、工厂模式、观察者模式等在 C++ 中的应用。 - **并发编程** - **多线程与多进程**:`std::thread`、`std::async`、`std::mutex`、`std::condition_variable` 等多线程编程技术。 - **C++ Concurrency in Action**:深入探讨 C++ 中的并发编程模型与实践。 - **C++ 惯用法** - **编程风格与惯用法**:探讨 C++ 中的常见编程风格与惯用法,帮助开发者写出更优雅的代码。 - **学习课程** - **极客时间《现代 C++ 实战 30 讲》**:推荐学习资源,帮助开发者系统学习现代 C++。 - **工具篇** - **调试与输出工具**:如 `dbg-macro`、`rr` 等调试工具的使用。 - **容器快捷输出工具**:简化容器输出的工具。 - **观察编译过程**:通过工具观察 C++ 代码的编译过程变化。 ## 4. 项目特色 - **系统化学习路径**:从基础到进阶,内容循序渐进,适合不同层次的学习者。 - **理论与实践结合**:不仅有理论知识的讲解,还有大量的代码示例和实战项目。 - **源码深度分析**:通过分析经典开源项目的源码,帮助开发者深入理解 C++ 的设计与实现。 - **多线程与并发**:深入探讨 C++ 中的并发编程,帮助开发者编写高效、安全的并发程序。 - **面试导向**:提供常见面试题的解析,帮助求职者更好地准备面试。 ## 5. 项目资源 - **在线学习网站**:[C++那些事](https://light-city.github.io/stories_things/) - **微信公众号**:[光城](https://mp.weixin.qq.com/s/5_Ms8bGbA-PWj5EwmTBaQA) - **B站视频**:[未来的光城](https://www.bilibili.com/video/BV1Rv4y1H7LB/?vd_source=bb6532dcd5b1d6b26125da900adb618e),项目内容同步至 B站,以视频形式展示,方便学习者观看。 ## 6. 参与方式 [**C++那些事**](https://github.com/Light-City/CPlusPlusThings)是一个开源项目,欢迎各位开发者参与贡献。你可以通过以下方式参与: - **Star 和 Fork**:如果你觉得项目对你有帮助,欢迎在 GitHub 上 Star 和 Fork 项目。 - **提交 PR**:如果你有好的内容或改进建议,欢迎提交 Pull Request。 - **反馈与建议**:如果你在使用过程中遇到问题或有任何建议,欢迎在项目的 Issue 区提出。 ## 7. 项目未来规划 - **扩展更多高级主题**:如 C++20 新特性、元编程、编译期计算等。 - **增加更多实战项目**:通过更多的实战项目,帮助开发者将所学知识应用到实际开发中。 - **社区建设**:建立更活跃的社区,鼓励开发者之间的交流与分享。 ## 8. 结语 [**C++那些事**](https://github.com/Light-City/CPlusPlusThings)是一个致力于帮助 C++ 学习者从入门到进阶的开源项目。无论你是初学者还是有一定经验的开发者,都可以在这里找到适合自己的学习资源。希望通过这个项目,能够帮助更多的人掌握 C++,并在实际开发中运用自如。 欢迎各位开发者 Star、Fork、PR,共同推动 C++ 社区的发展! ## 9. 关于作者 - **微信**:搜索 `gcxzhang` - **微信公众号**
![]() 知识星球 |
![]() 微信公众号 |
|---|
![]() 支付宝 |
![]() 微信 |
|---|