cpp-learning-2025
2025 最新|C++ 一站式资源库:体系化学习路线 + 详细的入门教程 + 常用开发工具 + 优质资源合集 + 高频面试题(含解析),求职进阶必备!
https://github.com/0voice/cpp-learning-2025
Last synced: 3 days ago
JSON representation
-
Uncategorized
-
Table of Contents
-
Learning Roadmap
-
Stage 0: Preparation (0.5–1 day)
-
Stage 1: Fundamentals (2–3 weeks)
- Calculator - the-number](https://github.com/mrnazu/guess-the-number)
-
Stage 2: Core OOP (3–4 weeks)
- Student management system - Management-System)
-
Stage 3: Modern C++ & STL (2–3 weeks)
- High-performance word frequency tool - Ibrahim-30/Logging-System)
-
Stage 4: Systems Programming (4–6 weeks)
-
-
Recommended Resources
-
Free Electronic Book / PDF
- A Complete Guide to Programming in C++
- Beginning C++ Programming - by-step beginner guide focusing on syntax, functions, and classes. |
- C++ Tutorial - style tutorial focusing on core syntax, pointers, and file I/O. |
- CS 200: Concepts of Programming using C++ (Spring 2025)
- C++ Annotations (Version 11.0) - depth coverage of OOP, multithreading, and modern features. |
-
Websites
- LearnCpp.com - by-step C++ tutorial on the internet. Emphasizes best practices, modern C++, and avoids common pitfalls. Perfect for beginners to intermediate learners. |
- cppreference.com
- CPlusPlus.com
- Codecademy – Learn C++ - based course. Great for hands-on practice from basics to intermediate topics. |
- Coursera – C++ Courses - level C++ specializations (e.g., University of London, UC Santa Cruz, Stanford). Includes videos, quizzes, and certificates. |
- LeetCode (C++ track)
- HackerRank – C++ - friendly challenges and 30-day C++ tutorials. |
- Exercism – C++ Track - quality exercises and code reviews from real developers. |
- Awesome C++ - bookmark for exploring the ecosystem. |
- Compiler Explorer (Godbolt)
-
-
Tools
-
Compilers
- GCC - source, cross-platform king
- Clang/LLVM
- MSVC
- MinGW-w64
- Intel oneAPI DPC++/C++ Compiler - 512 & vectorization beast
- Emscripten
-
Integrated Development Environments (IDEs)
- Visual Studio - featured Windows powerhouse
- CLion
- VS Code + C/C++ extensions
- Qt Creator
- CodeLite - source alternative
- Cevelop
-
Build Systems
-
Debuggers & Performance Profiling
-
Package Managers
-
Static Analysis & Testing
- Clang-Tidy
- Cppcheck
- PVS-Studio - grade analyzer (free for open-source)
- Google Test - standard testing frameworks
- doctest - header, ultra-lightweight testing
- ApprovalTests.cpp - master / snapshot testing
-
Code Formatting & Refactoring
- clang-format
- uncrustify
- Sourcery - powered refactoring suggestions
-
Memory & Performance Tools
- Address/Memory/Thread Sanitizers
- gperftools
- tcmalloc - performance allocator
-
Documentation & Visualization
- Doxygen
- Sphinx + Breathe
- Graphviz - graph visualization
-
Development Helpers
- Git - fork.com/) – Version control
- Docker
- CMake GUI / ccmake
- Ninja + ccache
- include-what-you-use
- cpplint
- GitHub Copilot / Codeium / Tabnine - powered code completion
-
-
Application Fields
-
Development Helpers
- Qt - stack cross-platform framework (GUI, networking, DB, multimedia)<br>[MFC](https://learn.microsoft.com/en-us/cpp/mfc/mfc-desktop-applications) – Native Windows framework (good for legacy)<br>[wxWidgets](https://www.wxwidgets.org/) – Cross-platform, native look & feel<br>[FLTK](http://www.fltk.org/) – Fast Light Toolkit<br>[ImGui](https://github.com/ocornut/imgui) – Immediate-mode GUI, minimal dependencies<br>[JUCE](https://juce.com/) – All-in-one cross-platform audio/application framework |
- Qt for Embedded - platform glib-like utils<br>[lwIP](https://savannah.nongnu.org/projects/lwip/) – Lightweight TCP/IP stack<br>[DPDK](https://www.dpdk.org/) – High-speed packet processing |
- Boost.Asio - performance Reactor server<br>[Brpc](https://github.com/apache/incubator-brpc) – Multi-protocol RPC framework<br>[Drogon](https://drogon.org/) – Async HTTP + ORM framework<br>[Seastar](https://seastar.io/) – Lock-free high-performance server framework<br>[Folly](https://github.com/facebook/folly) – Facebook’s high-performance library collection<br>[Crow](https://crowcpp.org/) – Micro web framework (Flask-like) |
- Unreal Engine - source engine with Blueprints + C++<br>[Cocos2d-x](https://www.cocos.com/en/cocos2d-x) – Cross-platform 2D engine<br>[Unity](https://unity.com/) – C# on top + C++ plugins<br>[raylib](https://www.raylib.com/) – Simple & fun game programming library<br>[SFML](https://www.sfml-dev.org/) – Simple and Fast Multimedia Library<br>[SDL2](https://www.libsdl.org/) – Low-level multimedia layer<br>[EnTT](https://github.com/skypjack/entt) – Modern C++ ECS framework |
- FFmpeg - based media framework<br>[SDL](https://www.libsdl.org/) – Audio & rendering<br>[OpenCV](https://opencv.org/) – Computer vision & video analysis<br>[PortAudio](http://www.portaudio.com/) – Cross-platform audio I/O<br>[miniaudio](https://miniaud.io/) – Single-header audio library<br>[libav](https://libav.org/) – FFmpeg-based multimedia toolkit |
- TensorFlow C++ API - graph inference<br>[OpenCV](https://opencv.org/) – Image preprocessing<br>[Eigen](http://eigen.tuxfamily.org/) – Linear algebra<br>[ONNX Runtime](https://onnxruntime.ai/) – Cross-framework inference engine<br>[Dlib](https://dlib.net/) – ML toolkit<br>[ncnn](https://github.com/Tencent/ncnn) – Mobile neural-network inference<br>[mlpack](https://mlpack.org/) – Scalable ML library |
- Linux Kernel - us/windows-hardware/drivers/wdf/) – Windows driver framework<br>[SQLite](https://www.sqlite.org/) – Embedded DB engine<br>[Boost](https://www.boost.org/) – General-purpose libraries<br>[Abseil](https://abseil.io/) – Google’s common C++ libraries<br>[jemalloc](https://jemalloc.net/) – High-performance allocator |
- QuickFIX - latency networking<br>[QuantLib](https://www.quantlib.org/) – Open-source quantitative finance library |
-
-
Real-World Projects
-
Desktop Application Development
- ocornut/imgui - mode GUI, debugging overlays |
- microsoft/terminal - scale modern desktop, GPU-accelerated rendering |
- flameshot-org/flameshot
- deskflow/deskflow - Barrier) | ★★★★☆ | Cross-computer mouse/keyboard sharing, networking |
- transmission/transmission - platform BitTorrent client, async I/O |
- qBittorrent/qBittorrent - featured Qt torrent client |
- sqlitebrowser/sqlitebrowser
- mltframework/shotcut
- Genymobile/scrcpy - latency USB/Wi-Fi |
-
Embedded Development
-
Backend / Server Development
- drogonframework/drogon - performance async web framework |
- chenshuo/muduo
- apache/brpc
- scylladb/seastar - per-core, lock-free, million QPS |
- grpc/grpc - performance RPC, Protobuf |
- oatpp/oatpp - dependency web framework + ORM |
-
Game Development
- SFML/SFML
- skypjack/entt
- raysan5/raylib
- TheCherno/Hazel - scratch engine (educational) |
- godotengine/godot - source engine |
- bkaradzic/bgfx - platform rendering backend |
- NVIDIA-Omniverse/PhysX
-
Audio/Video & Streaming
- obsproject/obs-studio
- FFmpeg/FFmpeg
- bluenviron/mediamtx - dependency RTMP/RTSP/WebRTC server |
- Haivision/srt
- GStreamer/gstreamer - based media framework |
-
AI / Machine Learning
- opencv/opencv
- Tencent/ncnn
- microsoft/onnxruntime - platform model inference |
- pytorch/pytorch (LibTorch)
- openvinotoolkit/openvino
- dmlc/xgboost
-
Systems Programming / Kernel
- gabime/spdlog - fast logging |
- sqlite/sqlite - tree |
- facebook/folly
- ClickHouse/ClickHouse
- torvalds/linux
- llvm/llvm-project
-
Data Processing & Storage
- google/leveldb - tree key-value store |
- Tencent/rapidjson - performance JSON parser |
- apache/thrift - language serialization & RPC |
- libevent/libevent
-
Security
-
Distributed Systems
- ceph/ceph
- etcd-io/etcd - value store |
-
-
LeetCode Problems
-
Distributed Systems
- LeetCode 1 Two Sum
- LeetCode 2 Add Two Numbers
- LeetCode 3 Longest Substring Without Repeating Characters
- LeetCode 4 Median of Two Sorted Arrays
- LeetCode 5 Longest Palindromic Substring
- LeetCode 10 Regular Expression Matching
- LeetCode 11 Container With Most Water
- LeetCode 15 3Sum
- LeetCode 17 Letter Combinations of a Phone Number
- LeetCode 19 Remove Nth Node From End of List
- LeetCode 20 Valid Parentheses
- LeetCode 21 Merge Two Sorted Lists
- LeetCode 22 Generate Parentheses
- LeetCode 23 Merge k Sorted Lists
- LeetCode 31 Next Permutation
- LeetCode 32 Longest Valid Parentheses
- LeetCode 33 Search in Rotated Sorted Array
- LeetCode 34 Find First and Last Position of Element in Sorted Array
- LeetCode 39 Combination Sum
- LeetCode 42 Trapping Rain Water
- LeetCode 46 Permutations
- LeetCode 48 Rotate Image
- LeetCode 49 Group Anagrams
- LeetCode 53 Maximum Subarray
- LeetCode 55 Jump Game
- LeetCode 56 Merge Intervals
- LeetCode 62 Unique Paths
- LeetCode 64 Minimum Path Sum
- LeetCode 70 Climbing Stairs
- LeetCode 72 Edit Distance
- LeetCode 75 Sort Colors
- LeetCode 76 Minimum Window Substring
- LeetCode 78 Subsets
- LeetCode 79 Word Search
- LeetCode 84 Largest Rectangle in Histogram
- LeetCode 85 Maximal Rectangle
- LeetCode 94 Binary Tree Inorder Traversal
- LeetCode 96 Unique Binary Search Trees
- LeetCode 98 Validate Binary Search Tree
- LeetCode 101 Symmetric Tree
- LeetCode 102 Binary Tree Level Order Traversal
- LeetCode 104 Maximum Depth of Binary Tree
- LeetCode 105 Construct Binary Tree from Preorder and Inorder Traversal
- LeetCode 114 Flatten Binary Tree to Linked List
- LeetCode 121 Best Time to Buy and Sell Stock
- LeetCode 124 Binary Tree Maximum Path Sum
- LeetCode 128 Longest Consecutive Sequence
- LeetCode 136 Single Number
- LeetCode 139 Word Break
- LeetCode 141 Linked List Cycle
- LeetCode 142 Linked List Cycle II
- LeetCode 146 LRU Cache
- LeetCode 148 Sort List
- LeetCode 152 Maximum Product Subarray
- LeetCode 155 Min Stack
- LeetCode 160 Intersection of Two Linked Lists
- LeetCode 169 Majority Element
- LeetCode 198 House Robber
- LeetCode 200 Number of Islands
- LeetCode 206 Reverse Linked List
- LeetCode 207 Course Schedule
- LeetCode 208 Implement Trie (Prefix Tree)
- LeetCode 215 Kth Largest Element in an Array
- LeetCode 221 Maximal Square
- LeetCode 226 Invert Binary Tree
- LeetCode 234 Palindrome Linked List
- LeetCode 236 Lowest Common Ancestor of a Binary Tree
- LeetCode 238 Product of Array Except Self
- LeetCode 239 Sliding Window Maximum
- LeetCode 240 Search a 2D Matrix II
- LeetCode 253 Meeting Rooms II
- LeetCode 279 Perfect Squares
- LeetCode 283 Move Zeroes
- LeetCode 287 Find the Duplicate Number
- LeetCode 297 Serialize and Deserialize Binary Tree
- LeetCode 300 Longest Increasing Subsequence
- LeetCode 322 Coin Change
- LeetCode 337 House Robber III
- LeetCode 338 Counting Bits
- LeetCode 347 Top K Frequent Elements
- LeetCode 394 Decode String
- LeetCode 399 Evaluate Division
- LeetCode 406 Queue Reconstruction by Height
- LeetCode 416 Partition Equal Subset Sum
- LeetCode 437 Path Sum III
- LeetCode 438 Find All Anagrams in a String
- LeetCode 448 Find All Numbers Disappeared in an Array
- LeetCode 461 Hamming Distance
- LeetCode 494 Target Sum
- LeetCode 538 Convert BST to Greater Tree
- LeetCode 543 Diameter of Binary Tree
- LeetCode 560 Subarray Sum Equals K
- LeetCode 581 Shortest Unsorted Continuous Subarray
- LeetCode 617 Merge Two Binary Trees
- LeetCode 621 Task Scheduler
- LeetCode 647 Palindromic Substrings
- LeetCode 739 Daily Temperatures
-
-
Bjarne Stroustrup's FAQ
-
General
-
Categories
Sub Categories
Distributed Systems
99
Development Helpers
15
Websites
10
Desktop Application Development
9
Game Development
7
AI / Machine Learning
6
Static Analysis & Testing
6
Integrated Development Environments (IDEs)
6
Debuggers & Performance Profiling
6
Systems Programming / Kernel
6
Compilers
6
Backend / Server Development
6
Build Systems
6
Embedded Development
6
Free Electronic Book / PDF
5
Package Managers
5
Audio/Video & Streaming
5
Uncategorized
5
Data Processing & Storage
4
Stage 4: Systems Programming (4–6 weeks)
3
Memory & Performance Tools
3
Code Formatting & Refactoring
3
Documentation & Visualization
3
Security
2
Stage 3: Modern C++ & STL (2–3 weeks)
1
General
1
Stage 1: Fundamentals (2–3 weeks)
1
Stage 2: Core OOP (3–4 weeks)
1
Stage 0: Preparation (0.5–1 day)
1
Keywords
c-plus-plus
10
c
9
cpp
8
cross-platform
6
gamedev
6
http
5
header-only
5
deep-learning
5
library
4
graphics
4
game-engine
4
game-development
4
cpp11
4
iot
4
embedded
3
android
3
machine-learning
3
gui
3
ffmpeg
3
opengl
3
multimedia
3
async
3
https
3
ai
2
go
2
distributed-systems
2
websocket
2
testing
2
streaming
2
http-server
2
rtsp
2
rtmp
2
kubernetes
2
single-file
2
database
2
distributed-database
2
good-first-issue
2
multi-platform
2
cplusplus
2
computer-vision
2
linux
2
vulkan
2
inference
2
tensorflow
2
pytorch
2
onnx
2
neural-network
2
tls
2
hls
2
performance
2