awesome-modern-cpp README

The project's README from github.com/rigtorp/awesome-modern-cpp. As one markdown file: README.md.



Awesome Modern C++

A collection of resources on modern C++.

The goal is to collect a list of resources to help people learn about and leverage modern C++11 and beyond.

Contributing

To add, remove or change things on the list: please submit a pull request to the GitHub repository.

Books

For a comprehensive guide to C++ books see the Stackoverflow Definitive C++ Book Guide and List.

Community

Find the latest C++ news and updates:

Listen to the latest C++ podcasts:

Read the latest C++ standard proposals:

Discuss everything related to C++:

Ask your C++ questions:

Maybe your question was already answered in a FAQ?:

Go to one of the many C++ conferences:

Find C++ user groups:

Talks

TODO curate list of good talks on how to simplify code using C++11/17/20 features

Start with SG20 Education and Recommended Videos for Teaching C++.

Blogs

Websites

Project Starter Templates

Libraries

This is not supposed to be a comprehensive list of all C and C++ libraries. It is a list of high-quality modern libraries with general applicability (serialization, database, testing, etc) or high-quality libraries with novel use of new C++ features.

Kitchensink / Framework

Testing

Benchmarking

Libraries and frameworks for creating micro-benchmarks.

Logging

Threading

Parsing & Serialization

String formatting & templating

Scripting

Web / HTTP

Database

BioC++

Misc

awesome-modern-cpp (rigtorp/awesome-modern-cpp)

Searching Database…

What is this?A curated list of resources for learning and using modern C++ (C++11 and later): books, talks, blogs, websites, project templates, and high-quality libraries.
Is this a tutorial or just a list of links?It's an awesome-list: a curated index pointing to external books, talks, blogs, websites, and libraries, not a tutorial itself.
How is the list organized?It's split into sections like Books, Community, Talks, Blogs, Websites, Project Starter Templates, and Libraries (further broken into Testing, Benchmarking, Logging, Threading, Parsing & Serialization, Web/HTTP, Database, Misc, etc.).
Where should a beginner start?The Books section lists foundational reads such as 'A Tour of C++' and 'The C++ Programming Language' by Bjarne Stroustrup, plus 'Effective Modern C++' by Scott Meyers for practical guidance.
Are entries vetted or is it still updated?Entries are added via community pull requests, so curation depends on contributor quality; the Talks section even has an open TODO to curate more content, suggesting some parts are incomplete.
Who is this list for?C++ developers who want to move from older C++ styles to modern C++11/14/17/20 idioms, libraries, and tooling.
What kind of libraries does the Libraries section cover?It spans testing (Catch, doctest, Googletest), benchmarking (Google Benchmark, nanobench), logging (spdlog), threading (Cpp-Taskflow, TBB), JSON/serialization (nlohmann/json, cereal, simdjson), web/HTTP frameworks (Drogon, Crow, cpr), and databases (sqlpp11, libpqxx), among others.
Does it include conference talks and video content?Yes, it links to CppCon and C++Now talks from speakers like Bjarne Stroustrup, Herb Sutter, and Scott Meyers, plus the C++ Weekly video series by Jason Turner.
Are there starter project templates included?Yes, it lists templates like ModernCppStarter, modern-cpp-template, and cmaketemplate that bootstrap a C++ project with CMake, CI, and clang-format already configured.
Where can I discuss modern C++ with other developers?The Community section points to r/cpp, the C++ Slack workspace, CppCast/Cpp.chat podcasts, and various C++ user groups and conferences.
Creator
rigtorp
Size
0.2 MB
Stars
13.2K
Updated
CommitOct 05
Age
10y
Commits · 90 Days