C++ Core Guidelines (Bjarne Stroustrup, Herb Sutter) [C++11/14/17] - Guidelines for using modern C++.
C++ Concurrency in Action (Anthony Williams) [C++11/14/17] - Reference and guide to writing multi-threaded code with standard C++.
C++17 - The Complete Guide (Nicolai M. Josuttis) [C++17] - Giving guidance on how to use Language and Library Features of C++17.
Professional CMake (Craig Scott) - A practical guide for using CMake to build your C++ projects.
Modern C++ Tutorial: C++ 11/14/17/20 On the Fly (Changkun Ou) - The book claims to be “On the Fly”. Its intent is to provide a comprehensive introduction to the relevant features regarding modern C++ (before 2020s).
ModernCppStarter - A template for kick-starting modern C++ projects using CMake, CI, code coverage, clang-format, reproducible dependency management and more.
modern-cpp-template - A template for modern C++ projects using CMake, Clang-Format, CI, unit testing and more, with support for downstream inclusion.
cmake_template - A template CMake project to get you started with C++ and tooling.
Pitchfork - Pitchfork is a Set of C++ Project Conventions.
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
abseil - Abseil is an open-source collection of C++ code (compliant to C++11) designed to augment the C++ standard library.
POCO - The POCO C++ Libraries are powerful cross-platform C++ libraries for building network- and internet-based applications that run on desktop, server, mobile, IoT, and embedded systems.
nonstd-lite - Parent of *-lite repositories, a migration path to post-C++11 features for pre-C++11 environments.
xtd - Modern C++17/20 framework to create console (CLI), forms (GUI like WinForms) and tunit (unit tests like Microsoft Unit Testing Framework) applications on Windows, macOS, Linux, iOS and android.
MPMCQueue - A bounded multi-producer multi-consumer lock-free queue written in C++11.
SPSCQueue - A bounded single-producer single-consumer wait-free and lock-free queue written in C++11.
Threading Building Blocks - Threading Building Blocks (TBB) is a C++ template library developed by Intel for parallel programming on multi-core processors. Using TBB, a computation is broken down into tasks that can run in parallel. The library manages and schedules threads to execute these tasks.
execq - Smart queue that executes tasks in threadpool-like manner (serial / concurrent) in C++11.
concurrencpp - A general concurrency library containing tasks, executors, timers and C++20 coroutines to rule them all.
ChaiScript - An easy to use embedded scripting language for C++.
pybind11 - Seamless operability between C++11 and Python.
Web / HTTP
Beast - HTTP and WebSocket built on Boost.Asio in C++11.
cpprestsdk - The C++ REST SDK is a Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. This project aims to help C++ developers connect to and interact with services.
cpr - C++ Requests: Curl for People, a spiritual port of Python Requests.
Crow - A Fast and Easy to use microframework for creating webservers (inspired by Python Flask).
dmbcs-micro-server - C++20-based JSON, HTML, text and PNGs over HTTP; simple way to embed a server into your application to provide a web-based UI.
Drogon - A C++14/17 based, high-performance HTTP application framework
oat++ - High-performance Web framework (C++11, zero-dependency).
EnTT - A header-only, fast and, reliable entity-component system (ECS) for modern C++.
Font Chef - A C99 and C++14 library to cook fonts and render text
HashLibPlus - A C++11 library that provides an easy to use interface for computing hashes and checksums of strings, files, streams, bytearrays and untyped data to mention but a few. It also supports Incremental Hashing.
IntX - A C++11 port of IntX arbitrary precision Integer library with speed, about O(N * log N) multiplication/division algorithms implementation.
Magic Enum - Static reflection for enums (to string, from string, iteration) for modern C++, work with any enum type without any macro or boilerplate code.
Wise Enum - Static reflection for enums similar to Magic Enum but works with C++ 11/14/17.
Nameof - A header-only C++17 library provides nameof macros and functions to obtain the simple name of variable, type, function, macro, and enum.
random - A simple, convenient, header only Random for modern C++.
rang - A simple, modern & header only C++11 library for colors in your terminal.
range-v3 - Experimental range library for C++11/14/17.
SimpleBaseLib4CPP - A simple C++11 Base Encoding library that provides at the moment support for encoding and decoding various bases such as Base16, Base32 (various variants), Base58 (various variants), Base64 (various variants). [MIT]
simple_match - Simple header only pattern matching for c++14.
SRL-CPP - A Simple Regex Language builder library written in C++11 that provides an easy to use interface for constructing both simple and complex regex expressions. [MIT]
tweeny - A header only interpolation library with 30+ easing functions.
Vireo - A lightweight and versatile video processing library by Twitter.
clangd - understands your C++ code and adds smart features to your editor: code completion, compile errors, go-to-definition and more.
Compiler Explorer - Interactively explore the assembly output of your C++ code.
cquery - C/C++ language server supporting multi-million line code base, powered by libclang. Emacs, Vim, VSCode, and others with language server protocol support. Cross references, completion, diagnostics, semantic highlighting and more (No more commits since Nov 27, 2018)
ccls - C/C++/ObjC language server supporting cross references, hierarchies, completion and semantic highlighting, forked from cquery, which is under active development
irony-mode - A C/C++ minor mode for Emacs powered by libclang.
sanitizers 🌟 - This project is the home for Sanitizers: AddressSanitizer, MemorySanitizer, ThreadSanitizer, LeakSanitizer, and more.
Valgrind - is an instrumentation framework for building dynamic analysis tools. There are Valgrind tools that can automatically detect many memory management and threading bugs, and profile your programs in detail. You can also use Valgrind to build new tools.
cppcheck - is a static analysis tool for C/C++ code. It provides unique code analysis to detect bugs and focuses on detecting undefined behaviour and dangerous coding constructs.
clang-tidy 🌟 - is a clang-based C++ “linter” tool. Its purpose is to provide an extensible framework for diagnosing and fixing typical programming errors, like style violations, interface misuse, or bugs that can be deduced via static analysis. clang-tidy is modular and provides a convenient interface for writing new checks.
clang-analyzer - is a source code analysis tool that finds bugs in C, C++, and Objective-C programs. It implements path-sensitive, inter-procedural analysis based on symbolic execution technique.