CPlusPlusThings README

The project's README from github.com/Light-City/CPlusPlusThings. As one markdown file: README.md.

C++那些事 | Stories About C Plus Plus

C++ 那些事

🇨🇳 中文 | 🇺🇸 English

GitHub Stars GitHub Forks GitHub Issues License

C++ 那些事 | 从入门到进阶的 C++ 学习之旅 | 深入理解现代 C++


C++ 那些事

感谢各位对《C++ 那些事》的支持,现将内容也同步至B站,以视频的方式展示,可以打开网站直接阅读~欢迎大家 star、转发、PR。

在线个人博客:光城的实验室

在线学习网站:C++那些事

这是一个适合初学者从入门到进阶的仓库,解决了面试者与学习者想要深入 C++ 及如何入坑 C++ 的问题。除此之外,本仓库拓展了更加深入的源码分析,多线程并发等的知识,是一个比较全面的 C++ 学习从入门到进阶提升的仓库。

🎯 适合人群: C++ 初学者、面试准备者、想系统学习 Modern C++ 的开发者 📚 涵盖内容: C++11/14/17/20 新特性、STL 源码剖析、设计模式、并发编程 🔧 实践导向: 配套完整代码示例和实战项目

重磅项目

推出一系列重磅项目,带大家实战学习C++,配合本开源项目学习,成长飞快!

直通点:戳这里

关于作者

公众号已开放两大入口,分别是专辑与菜单,可以直接在微信公众号上阅读《C++ 那些事》内容,配上该仓库的代码,将会非常的爽,建议大家关注一波。

个人公众号:guangcity

或者扫下面的二维码,欢迎大家反馈及 C++ 交流,本人在微信创建了 C++ 那些事交流群,优质的 C++ 资源交流区,期待大家关注上面公众号,点击公众号右下角->联系我,拉你入群。


关注我

如果觉得不错,关注我吧~


星球

微信公众号

项目运行

方式1: vscode + bazel

方式2: docker

新推出免开发环境,docker环境,大家可以pull下面镜像:

docker pull xingfranics/cplusplusthings:latest

方式3: g++

视频学习本项目

第一期:Step By Step上手编译本项目

第二期:免开发环境docker

第三期:手把手共读HashTable,彻底搞懂C++ STL

第四期:手把手共读STL之enable_shared_from_this

第五期:手把手共读STL之线程,从C++11 thread到C++20 jthread

第六期:手把手共读STL之共读condition_variable、condition_variable_any

第七期:手把手共读STL之Mutex

第八期:手把手共读STL之RAII Lock

飞书知识库

互联网大厂面试实录

拿下offer之必备面经

基础进阶

实战系列

10 日狂练

重点实战练习

C++2.0 新特性

概况

C++2.0 是一个简称,意为「现代 C++」,包括 C++11/14/17/20。

C++11 新特性

C++14/17/20

待更新...

设计模式

STL 源码剖析

STL 源码剖析:gcc 4.9.1

并发编程

C++ Concurrency in Action

学习资料:https://downdemo.gitbook.io/cpp-concurrency-in-action-2ed/

多线程与多进程

Threading In C++

学习自:

https://www.youtube.com/watch?v=eZ8yKZo-PGw&list=PLk6CEY9XxSIAeK-EAh3hB4fgNvYkYmghp&index=4

C++ 惯用法

你最喜欢的 c++ 编程风格惯用法是什么?

学习课程

极客时间《现代 C++ 实战 30 讲》

工具篇

容器快捷输出工具

对吴老师的代码进行了修改,点击此处直通代码

输入:

map<int, int> mp{
            {1, 1},
            {2, 4},
            {3, 9}};
    cout << mp << endl;

输出结果显示:

{ 1 => 1, 2 => 4, 3 => 9 }

像 Python 一样简单输出(Jupyter Notebook)

观察编译过程变化

C++ 的 Debug 工具 dbg-macro

在 Linux 上的 Debug 工具 rr - 拥有回到过去的能力

拓展部分

一些问题

CPlusPlusThings (Light-City/CPlusPlusThings)

multithreading
Searching Database…

What is this?A Chinese-language repository (also partly in English) that walks C++ learners from basics to advanced topics: core language features, C++11/14/17/20, STL internals, design patterns, and concurrency, all backed by runnable code examples.
Is this a C++ library I can import, or a learning resource with code examples?It is a structured learning resource of notes and standalone example files (one concept/file per topic), not an importable library or package.
How do I run the examples?You can open the project in VS Code with Bazel, pull a ready-made Docker image, or simply compile individual files with g++.
Do I need Bazel or Docker, or can I just use a C++ compiler?None is mandatory: the README offers three independent paths, so a plain g++ toolchain is enough if you skip Bazel and Docker.
Is all the content finished?Most sections are complete, but the C++14/17/20 feature chapter is explicitly marked as still pending.
Who is this aimed at?C++ beginners, interview candidates, and developers who want to systematically learn Modern C++, STL source internals, and concurrency.
What does the STL source analysis section cover?It dissects GCC 4.9.1 STL internals, including array, deque, vector, list, rbtree, hashtable, unordered_map, and iterator/traits design, plus a discussion of EBO optimization.
Is there a structured practice plan for beginners?Yes, a '10 日狂练' (10-day intensive practice) series takes you from basic syntax through recursion, functions, inheritance, operator overloading, templates/STL, and exceptions.
Can I follow this as videos instead of reading?Yes, the author has synced several episodes to Bilibili covering project setup, the Docker environment, and deep dives into STL components like HashTable and threads.
Is there interview-focused material too?There is a linked Feishu knowledge base described as recorded interview experiences from major internet companies for offer preparation.
Creator
Light-City
Size
2.7 MB
Stars
43.5K
Updated
CommitOct 13
Age
7y
Commits · 90 Days