SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 C++ modern-cpp Projects
-
modern-cpp-tutorial
📚 Modern C++ Tutorial: C++11/14/17/20 On the Fly | https://changkun.de/modern-cpp/
Project mention: Modern C++ Tutorial: C++ 11/14/17/20 On the Fly | news.ycombinator.com | 2026-05-28 -
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
-
EA Standard Template Library
EASTL stands for Electronic Arts Standard Template Library. It is an extensive and robust implementation that has an emphasis on high performance.
-
-
sol2
Sol3 (sol2 v3.0) - a C++ <-> Lua API wrapper with advanced features and top notch performance - is here, and it's great! Documentation:
Interesting, I don't find modern C++ verbose at all. 'auto', range-based for-loops and structured bindings did a great job at reducing the verbosity of C++98.
On top of that, C++ allows to design very concise APIs. (One of my favorite examples is sol2: https://github.com/ThePhd/sol2).
Library code involving templates, on the other hand, can be pretty complex and hard to read. Concepts and other C++20 features (like [[no_unique_address]]) are certainly an improvement, but only new projects with no backwards compatibility requirements can actually use them (unconditionally).
-
-
immer
Postmodern immutable and persistent data structures for C++ — value semantics at scale (by arximboldi)
Project mention: Rox: A clarity-first language that enforces expliciticity (compiles to C++) | news.ycombinator.com | 2026-02-10I've seen some C++ libraries that implement persistent data structures like immer (https://github.com/arximboldi/immer) - but seems it requires the use of the Boehm GC (which is notorious to be slow, since it is a conservative GC and cannot exploit any of the specific semantics/runtime characteristics of the language you're making).
-
-
-
Project mention: Delivering the Missing Building Blocks for Nvidia CUDA Kernel Fusion in Python | news.ycombinator.com | 2025-07-16
There’s an extensive change-log supporting the CCCL 3.0 release on GitHub from 3 hours ago: https://github.com/NVIDIA/cccl/releases/tag/v3.0.0
-
uvw
Header-only, event based, tiny and easy to use libuv wrapper in modern C++ - now available as also shared/static library!
-
-
Project mention: The Linux Kernel Looks to "Bite the Bullet" in Enabling Microsoft C Extensions | news.ycombinator.com | 2025-11-10
If it's about "prettier code" then I think a number one candidate would be making bitfields more viable for use. It could make driver code much cleaner and safer.
Windows is only targeting little-endian systems which makes life easier (and in any case they trust MSVC to do the right thing) so Windows drivers make much use of them (just look at the driver samples on Microsoft's GitHub page.)
Linux is a little afraid to rely on GCC/Clang doing the right thing and in any case bitfields are underpowered for a system which targets multiple endians. So Linux uses systems of macros instead for dealing with what Windows C uses bitfields. The usual pattern is a system of macros for shifting and masking. This is considerably uglier and easier to make a mess of. It would be a real improvement in quality-of-life if this were not so.
You can also look at Managarm (which benefits from C++ here) for another approach to making this less fraught: https://github.com/managarm/managarm/blob/a698f585e14c0183df...
-
Project mention: ASCII characters are not pixels: a deep dive into ASCII rendering | news.ycombinator.com | 2026-01-17
-
-
-
-
cuda-api-wrappers
Thin C++-flavored header-only wrappers for core CUDA APIs: Runtime, Driver, NVRTC, NVTX.
> CUDA Runtime: The runtime library (libcudart) that applications link against.
That library is actually a rather poor idea. If you're writing a CUDA application, I strongly recommend avoiding the "runtime API". It provides partial access to the actual CUDA driver and its API, which is 'simpler' in the sense that you don't explicitly create "contexts", but:
* It hides or limits a lot of the functionality.
* Its actual behavior vis-a-vis contexts is not at all simple and is likely to make your life more difficult down the road.
* It's not some clean interface that's much more convenient to use.
So, either go with the driver, or consider my CUDA API wrappers library [1], which _does_ offer a clean, unified, modern (well, C++11'ish) RAII/CADRe interface. And it covers much more than the runtime API, to boot: JIT compilation of CUDA (nvrtc) and PTX (nvptx_compiler), profiling (nvtx), etc.
[1] : https://github.com/eyalroz/cuda-api-wrappers/
-
-
-
-
-
C++ modern-cpp discussion
C++ modern-cpp related posts
-
Modern C++ Tutorial: C++ 11/14/17/20 On the Fly
-
EnTT
-
The 128-arm pattern dispatch problem and how we got from 11ns to 1.1ns
-
Rox: A clarity-first language that enforces expliciticity (compiles to C++)
-
Butano, a modern C++ high level GBA engine
-
Declarative JSON Dispatch in Modern C++
-
Patternia - A zero-overhead pattern matching library for C++ with powerful features like generics and structural binding.
-
A note from our sponsor - SaaSHub
www.saashub.com | 13 Jun 2026
Index
What are some of the best open-source modern-cpp projects in C++? This list will help you:
| # | Project | Stars |
|---|---|---|
| 1 | modern-cpp-tutorial | 25,430 |
| 2 | entt | 12,789 |
| 3 | EA Standard Template Library | 9,266 |
| 4 | LeetCode-Solutions | 5,861 |
| 5 | sol2 | 5,059 |
| 6 | Elements C++ GUI library | 3,697 |
| 7 | immer | 2,855 |
| 8 | sqlite_orm | 2,666 |
| 9 | nana | 2,467 |
| 10 | cccl | 2,378 |
| 11 | uvw | 2,044 |
| 12 | eos | 1,974 |
| 13 | managarm | 1,927 |
| 14 | butano | 1,672 |
| 15 | q | 1,393 |
| 16 | stdgpu | 1,264 |
| 17 | RigelEngine | 983 |
| 18 | cuda-api-wrappers | 890 |
| 19 | Mudlet | 885 |
| 20 | liblava | 884 |
| 21 | cmkr | 620 |
| 22 | csv2 | 619 |
| 23 | HFSM2 | 614 |