Skip to content

Latest commit

 

History

History
460 lines (310 loc) · 18 KB

File metadata and controls

460 lines (310 loc) · 18 KB

C++ Stories Things | Stories About C Plus Plus

Stories About C Plus Plus

🇨🇳 中文 | 🇺🇸 English

GitHub Stars GitHub Forks GitHub Issues License

Stories About C++ | Your Journey from Beginner to Advanced | Deep Dive into Modern C++


Stories About C++

Thank you for your support of Stories About C++. The content is also available on Bilibili in video format for easier learning. Welcome to star, share, and submit PRs.

Online Personal Blog: Light City Lab

Online Learning Site: Stories About C++

  • Chinese Name: C++ 那些事
  • English Name: Stories About C Plus Plus

This repository is designed for beginners to advance from entry level to mastery. It addresses the needs of interviewees and learners who want to deeply understand C++ and get started with C++. Beyond the fundamentals, this repository also covers more advanced topics such as in-depth source code analysis and multi-threaded concurrency. It is a comprehensive C++ learning resource, from beginner to advanced improvement.

🎯 Target Audience: C++ beginners, interview candidates, developers wanting to systematically learn Modern C++ 📚 Content Covered: C++11/14/17/20 new features, STL source code analysis, design patterns, concurrency programming 🔧 Practice-Oriented: Complete code examples and practical projects included

Featured Projects

A series of featured projects have been launched to guide you through practical C++ learning. Combined with this open-source project, you'll grow rapidly!

Direct Link: Click Here

About the Author

The WeChat Official Account has opened two major entry points: albums and menus. You can directly read Stories About C++ content on WeChat, paired with the code in this repository for an excellent experience. We recommend following us.

Personal WeChat Official Account: guangcity

Or scan the QR code below. We welcome your feedback and C++ discussions. I have created a C++ Stories exchange group on WeChat, a high-quality C++ resource exchange area. Please follow the above official account, click the bottom right corner → Contact Me, and I'll add you to the group.


Follow Me

If you find this helpful, follow me~


Planet

WeChat Official Account

Project Setup

Method 1: VSCode + Bazel

Method 2: Docker

A Docker environment without development setup is now available. You can pull the following image:

docker pull xingfranics/cplusplusthings:latest

Method 3: g++

Video Tutorials

Episode 1: Step By Step Compiling This Project

Episode 2: Docker Environment Without Setup

Episode 3: Reading HashTable Together, Thoroughly Understanding C++ STL

Episode 4: Reading STL enable_shared_from_this Together

Episode 5: Reading STL Threads Together, From C++11 thread to C++20 jthread

Episode 6: Reading STL condition_variable, condition_variable_any Together

Episode 7: Reading STL Mutex Together

Episode 8: Reading STL RAII Lock Together

Feishu Knowledge Base

Internet Big Company Interview Records

Essential Interview Guide for Landing Offers

Foundation

Practical Exercises

Overview

C++2.0 is a shorthand for "Modern C++", including C++11/14/17/20.

C++14/17/20

To be updated...

Design Patterns

STL Source Code Analysis: gcc 4.9.1

C++ Concurrency in Action

Learning Material: https://downdemo.gitbook.io/cpp-concurrency-in-action-2ed/

Multithreading and Multiprocess

Threading In C++

Source:

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

What's your favorite C++ programming idiom?

Learning Courses

Tools

Modified code, Click here for the code

Input:

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

Output:

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

Output Like Python (Jupyter Notebook)

Observe Compilation Process

C++ Debug Tool dbg-macro

Linux Debug Tool rr - Ability to Go Back in Time

Extensions

Some Questions