SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 C++ Cpp20 Projects
-
-
Stream
Stream - Scalable APIs for Chat, Feeds, Moderation, & Video. Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
-
modern-cpp-tutorial
📚 Modern C++ Tutorial: C++11/14/17/20 On the Fly | https://changkun.de/modern-cpp/
-
-
Anticipating pushback: yes, you can disallow "pointer arithmetic" on handles, and store fingerprints in the "slots" to ensure they still contain the handle's identity to detect user-after-free, but congrats, you've implemented sparse sets, which there are dozen's of C++ implementations of with the same safety guarantees, so it's unclear what rust is bringing in that case (e.g. https://github.com/skypjack/entt/blob/master/src/entt/entity...)
-
PrismLauncher
A custom launcher for Minecraft that allows you to easily manage multiple installations of Minecraft at once (Fork of MultiMC)
>- several Minecraft launchers / mod-managers have been tried, but I can't seem to keep my Microsoft account logged in on there, so I eventually just put my password on a sticky note so they could re-auth it whenever needed (fortunately I don't use it for anything else).
https://prismlauncher.org/
-
-
-
InfluxDB
InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
-
-
infinity
The AI-native database built for LLM applications, providing incredibly fast hybrid search of dense vector, sparse vector, tensor (multi-vector), and full-text.
- Project mention: The Impossible Optimization, and the Metaprogramming to Achieve It | news.ycombinator.com | 2025-11-01
-
-
> I could imagine a world where templates are compiled separately and there is essentially duck typing built into the runtime.
The bit of my comment you quoted was just talking about definition checking. Separate compilation of templates is a distinct concern and would be an entirely new can of worms. I'm not sure if separate compilation of templates as they currently are is possible at all; at least off the top of my head there would need to be some kind of tradeoff/restriction added (opting into runtime polymorphism, restricting the types that can be used for instantiation, etc.).
I think both definition checking and separate compilation would be interesting to explore, but I suspect backwards compat and/or migration difficulties would make it hard, if not impossible, to add either feature to standard C++.
> For example, if the template parameter type is a concept, your type could be automatically hooked up as if it was just a normal class and you inherited from it.
Sounds a bit like `dyn Trait` from Rust or one of the myriad type erasure polymorphism libraries in C++ (Folly.Poly [0], Proxy [1], etc.). Not saying those are precisely on point, though; just thought some of the ideas were similar.
[0]: https://github.com/facebook/folly/blob/main/folly/docs/Poly....
[1]: https://github.com/microsoft/proxy
-
thread-pool
BS::thread_pool: a fast, lightweight, modern, and easy-to-use C++17 / C++20 / C++23 thread pool library
- Project mention: Quill: Asynchronous Low Latency C++ Logging Library | news.ycombinator.com | 2025-09-14
-
concurrencpp
Modern concurrency for C++. Tasks, executors, timers and C++20 coroutines to rule them all
-
-
I found that this repository had no pull request yet so I contacted the owner to get permission to work on it after filing an issue, then I got to work researching how to approach this using C++. My C++ is rusty, so it took me some time to work my way through the code. Finally, with a little research, I worked out that I could use the existing CMake file in this project to set up the tomlplusplus implementation which would allow me to parse a config.toml file and load default options into the tool. I added a new function, loadFromConfig, that reads the TOML file and populates the CLI options struct with values like output, include, exclude, and recent. This way, users can define their preferences once and avoid repeating long command-line arguments.
-
-
less_slow.cpp
Playing around "Less Slow" coding practices in C++ 20, C, CUDA, PTX, & Assembly, from numerics & SIMD to coroutines, ranges, exception handling, networking and user-space IO
Project mention: Processing Strings 109x Faster Than Nvidia on H100 | news.ycombinator.com | 2025-09-19Yes, at the scale of 128-bit registers NEON is mostly enough, except for a few categories of instructions missing in that ISA subset, like scatter/gather ops, that can yield 30% boost over serial memory accesses: https://github.com/ashvardanian/less_slow.cpp/releases/tag/v...
-
-
filesystem
An implementation of C++17 std::filesystem for C++11 /C++14/C++17/C++20 on Windows, macOS, Linux and FreeBSD.
-
There are also .deb and .rpm packages: https://github.com/fooyin/fooyin/releases
- Project mention: Ut: Single header/single module, macro-free μ(micro) C++ Unit Testing Framework | news.ycombinator.com | 2025-09-11
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
C++ Cpp20 discussion
C++ Cpp20 related posts
-
Snitch – a friendly netstat alternative for humans
-
Common Rust Lifetime Misconceptions
-
Ymir: Sega Saturn Emulator
-
The Impossible Optimization, and the Metaprogramming to Achieve It
-
The Road to Flux 1.0
-
Ut: Single header/single module, macro-free μ(micro) C++ Unit Testing Framework
-
jank Is C++
- A note from our sponsor - SaaSHub www.saashub.com | 22 Dec 2025
Index
What are some of the best open-source Cpp20 projects in C++? This list will help you:
| # | Project | Stars |
|---|---|---|
| 1 | shadPS4 | 27,243 |
| 2 | modern-cpp-tutorial | 25,183 |
| 3 | Modern-CPP-Programming | 14,213 |
| 4 | entt | 12,054 |
| 5 | PrismLauncher | 8,179 |
| 6 | doctest | 6,529 |
| 7 | nghttp2 | 4,916 |
| 8 | cppinsights | 4,425 |
| 9 | infinity | 4,272 |
| 10 | compile-time-regular-expressions | 3,729 |
| 11 | Osiris | 3,613 |
| 12 | proxy | 3,041 |
| 13 | thread-pool | 2,791 |
| 14 | quill | 2,710 |
| 15 | concurrencpp | 2,712 |
| 16 | async_simple | 2,081 |
| 17 | tomlplusplus | 1,939 |
| 18 | giada | 1,930 |
| 19 | less_slow.cpp | 1,886 |
| 20 | cpp | 1,654 |
| 21 | filesystem | 1,493 |
| 22 | fooyin | 1,509 |
| 23 | ut | 1,395 |