r/cpp • u/foonathan • 18d ago
C++ Show and Tell - October 2026
Use this thread to share anything you've written in C++. This includes:
- a tool you've written
- a game you've been working on
- your first non-trivial C++ program
The rules of this thread are very straight forward:
- The project must involve C++ in some way.
- It must be something you (alone or with others) have done.
- Please share a link, if applicable.
- Please post images, if applicable.
If you're working on a C++ library, you can also share new releases or major updates in a dedicated post as before. The line we're drawing is between "written in C++" and "useful for C++ programmers specifically". If you're writing a C++ library or tool for C++ developers, that's something C++ programmers can use and is on-topic for a main submission. It's different if you're just using C++ to implement a generic program that isn't specifically about C++: you're free to share it here, but it wouldn't quite fit as a standalone post.
Last month's thread: https://www.reddit.com/r/cpp/comments/1w776o7/c_show_and_tell_september_2026/
C++ Jobs - Q4 2026
Rules For Individuals
- Don't create top-level comments - those are for employers.
- Feel free to reply to top-level comments with on-topic questions.
- I will create top-level comments for meta discussion and individuals looking for work.
Rules For Employers
- If you're hiring directly, you're fine, skip this bullet point. If you're a third-party recruiter, see the extra rules below.
- Multiple top-level comments per employer are now permitted.
- It's still fine to consolidate multiple job openings into a single comment, or mention them in replies to your own top-level comment.
- Don't use URL shorteners.
- reddiquette forbids them because they're opaque to the spam filter.
- Use the following template.
- Use **two stars** to bold text. Use empty lines to separate sections.
- Proofread your comment after posting it, and edit any formatting mistakes.
- Check if your comment is visible in Incognito mode, after waiting a few minutes.
- If not, it was probably automatically removed, which happens frequently for new accounts. Send modmail, otherwise we might not notice quickly.
Template
**Company:** [Company name; also, use the "formatting help" to make it a link to your company's website, or a specific careers page if you have one.]
**Type:** [Full time, part time, internship, contract, etc.]
**Compensation:** [This section is optional, and you can omit it without explaining why. However, including it will help your job posting stand out as there is extreme demand from candidates looking for this info. If you choose to provide this section, it must contain (a range of) actual numbers - don't waste anyone's time by saying "Compensation: Competitive."]
**Location:** [Where's your office - or if you're hiring at multiple offices, list them. If your workplace language isn't English, please specify it. It's suggested, but not required, to include the country/region; "Redmond, WA, USA" is clearer for international candidates.]
**Remote:** [Do you offer the option of working remotely? If so, do you require employees to live in certain areas or time zones?]
**Visa Sponsorship:** [Does your company sponsor visas?]
**Description:** [What does your company do, and what are you hiring C++ devs for? How much experience are you looking for, and what seniority levels are you hiring for? The more details you provide, the better.]
**Technologies:** [Required: what version of the C++ Standard do you mainly use? Optional: do you use Linux/Mac/Windows, are there languages you use in addition to C++, are there technologies like OpenGL or libraries like Boost that you need/want/like experience with, etc.]
**Contact:** [How do you want to be contacted? Email, reddit PM, telepathy, gravitational waves?]
Extra Rules For Third-Party Recruiters
Send modmail to request pre-approval on a case-by-case basis. We'll want to hear what info you can provide (in this case you can withhold client company names, and compensation info is still recommended but optional). We hope that you can connect candidates with jobs that would otherwise be unavailable, and we expect you to treat candidates well.
Previous Post
Valgrind 3.28 RC1
An RC1 tarball for 3.28.0 is now available at https://sourceware.org/pub/valgrind/valgrind-3.28.0.RC1.tar.bz2
https://sourceware.org/pub/valgrind/valgrind-3.28.0.RC1.tar.bz2.asc
Public keys can be found at https://www.klomp.org/mark/gnupg-pub.txt
Please give it a try in configurations that are important for you and report any problems you have via our bug tracker at https://bugs.kde.org/enter_bug.cgi?product=valgrind
See the NEWS file for a list of changes and bugfixes https://sourceware.org/git/?p=valgrind.git;a=blob;f=NEWS;h=be8b91b474e71535f272e8f11f1f6d1d35826ed3;hb=HEAD
Unless showstopper bugs are found (and cannot be easily fixed) the final 3.28.0 release is scheduled for this Fri Oct 23.
Note that our mailinglists at sourceforge.net seem to currently be unavailable. Not a great time to have that problem...
r/cpp • u/Gloomy-Assistance805 • 8m ago
Did my first c++ code
I did my first ever code yesterday in my computer programming university class. It's conversion of number of days to it's equivalent years and weeks. I'm not even exaggerating when I say that it inspired me so much, I want to learn more.
I've always wanted to learn coding and robotics but it always looked hard but now I want it more than ever
r/cpp • u/VinnieFalco • 1d ago
What is Modern C++ to you?
I keep hearing "modern C++." I've even used the term myself. And now I find I am questioning my use of the term.
- What does "modern C++" really mean, specifically?
- How many more years need to pass before it becomes just "C++?"
- If "modern C++" is a thing then what is the other thing. Is it "old C++," or "legacy C++?"
- Is C++ the only language that has a "modern" version?
- If the answer to 4 is yes, why is C++ unique?
r/cpp • u/NooneAtAll3 • 13h ago
What's the difference between cppreference .com and .net?
My duckduckgo googling started giving me both, I don't understand the difference and don't remember which one is the original
They both look exactly the same
.com has en. at the beginning
.net doesn't have accounts
.net has the picture, .com doesn't
Is it a typosquash, is one of them fake, what's going on?
r/cpp • u/meetingcpp • 19h ago
Meeting C++ The public prerecordings for Meeting C++ 2026 are starting!
meetingcpp.comWhat makes a game tick? Part 9.5 - The Curse of the Scheduler Latency · Mathieu Ropert
mropert.github.ior/cpp • u/ProgrammingArchive • 2d ago
New C++ Conference Videos Released This Month - October 2026 (Updated To Include Videos Released 2026-10-12 - 2026-10-18)
C++Now
2026-10-12 - 2026-10-18
- Implementing Logic in C++ - Hans de Nivelle - https://youtu.be/3ffgtI31iKw
- The Secret to C++ Reflection Now: CMake Code Generation - Bret Brown - https://youtu.be/OW_h9oyHQ-0
- Co-Designing Integrated AI-Enabled Compiler-Runtime Systems - Hartmut Kaiser - https://youtu.be/cIt4D_SJcI8
2026-10-05 - 2026-10-11
- Signal Trees - A Deep Dive into a High-Performance Alternative to Queue-Based Task Scheduling - Michael Maniscalco - https://youtu.be/ZRd_XN3LGxo
- Object Oriented Programming in Contemporary C++ - Steve Downey - https://youtu.be/m7gwSr27m74
- Cutting Some Slack for our Programs - Lisa Lippincott - https://youtu.be/xwnRPyRK5h4
2026-09-28 - 2026-10-04
- What Every C++ Programmer Needs to Know About AI - Jody Hagins - https://youtu.be/ZBXHPKVCa8E
- SPL - Open Source, Constexpr Library for Composing Algorithms - John Bandela - https://youtu.be/96AGjm3uwko
- Senders For Existing Asynchronous Interfaces - Dietmar Kühl - https://youtu.be/KB5Nfofgu2k
ACCU
2026-10-12 - 2026-10-18
- Dependency Injection and Dependency Inversion - C++ Perspective - Vladimir Vishnevskii - https://youtu.be/hzD9k4BZCE4
- AI Writes All Your Code Now - How Will You Ever Debug It? - Greg Law & Mark Williamson - https://youtu.be/-hTG9Jp_2PU
- The Not-So-Hidden Corners of C++ ABI Stability - Luis Caro Campos - https://youtu.be/3nd4RIH5okA
2026-10-05 - 2026-10-11
- Real-time Safety in C & C++ - Guaranteed by the Compiler! - Anders Schau Knatten - https://youtu.be/FeYEO3PhEVY
- Modernizing Legacy Codebases Without Stopping the World - Peter Muldoon - https://youtu.be/w9k-L0GLLKM
- Our Journey Toward a Fully Backward-Compatible, UB-Safe, ISO C++ - John Lakos - https://youtu.be/whFzmXXhG5g
2026-09-28 - 2026-10-04
- Refactoring Towards Structured Concurrency - Roi Barkan - https://youtu.be/ttoQfPP_Gkg
- Design Patterns - The Most Common Misconceptions (3 of N) - Klaus Iglberger - https://youtu.be/bAsJvmtYZOg
- One Lib to Rule Them All and in the Darkness bindgen… - Antonello Palazzi & Kay Hicketts - https://youtu.be/9BpVjPKv02s
ADC
2026-10-12 - 2026-10-18
- Introduction of the Technologies That Make Up Project LYDIA - Taichi Kumon & Tom Baker - https://youtu.be/-Cyht3g4H1s
- AI for Circuit Modeling - 村井 勝吾 / Shogo Murai - https://youtu.be/IL08vd0EiFY
- MIDI 2.0 - Ready to Ship - Brett g Porter - https://youtu.be/RGLtRZC--34
2026-10-05 - 2026-10-11
- BEEPS and PORTS - Annoy Everyone in Your House While Building An Audio Synthesizer - Joseph Stewart - https://youtu.be/bnIV2nyh-rg
- Hardware DSP Asset Inheritance and Evolution - Takeshi Kuwahara - https://youtu.be/yYukJpiFOOU
- Field Recording - In Search for Perfect Sounds - Malin Arvidsson - https://youtu.be/L5iZDi71VWU
2026-09-28 - 2026-10-04
- Designing Interactive Music Experiences in XR - Kasson Crooker - https://youtu.be/J3sVHT8luKs
- When (Not) to Patent Audio Software - Simon Hestermann - https://youtu.be/stBB1JoKQiY
- Distribution Strategies for Indie Audio Developers - From Plugin to Product - Dani Karanyi - https://youtu.be/Piar49uTjtg
r/cpp • u/Xeverous • 2d ago
4 compilers and 3 different results when partially/fully specializing member class template of a class template
I was playing with examples from cppreference, specifically https://cppreference.com/cpp/language/partial_specialization at the bottom in order to understand specialization deeper and form some notes. Maybe even at some point put out a template guide on my website.
Last 2 statements describe very similar situation but the order of words in each sentence is so different and the example so narrow that I had trouble figuring out what these really mean:
If the primary member template is explicitly (fully) specialized for a given (implicit) specialization of the enclosing class template, the partial specializations of the member template are ignored for this specialization of the enclosing class template.
If a partial specialization of the member template is explicitly specialized for a given (implicit) specialization of the enclosing class template, the primary member template and its other partial specializations are still considered for this specialization of the enclosing class template.
Eventually I managed to figure out the example only showcases the first statement and that the difference between these 2 situations is this:
struct A<short>::B {};- full spec of member B template for implicitly-instantiated A template (replaces all B for A<short>)struct A<short>::B<T&> {};- partial spec of member B template for implicitly-instantiated A template (adds another spec to A<short>, merging it with specs from primary A template)
To confirm I reason correctly, I wrote some sample code to have a more comprehensive example. I did not expect to encounter 3 different outputs from 4 different compilers. And I don't think you can reach UB on templates alone.
https://godbolt.org/z/8z7vde1PE
So which one is correct (if any - maybe it's ill-formed no diagnostic required)? The comments are my expectations, the question marks are places where compilers disagree.
Also, member specialization isn't even a C++11 feature. Compiler bugs in something so old and fundamental (and supposedly easy to unit-test) ... I have no words.
Composite objects and C++26 the std::polymorphic type
mariusbancila.roGreat clear concise explanation of the need for and use of std:polymorphic.
r/cpp • u/FaultPerfect6003 • 2d ago
C++/Java interoperability and system failures at WAWTech — Warsaw, 26–27 November
Hi there! I am working with the organising team for WAWTech. Its two-day software and product development conference and takes place at EXPO XXI in Warsaw on 26–27 November 2026.
Want to share two talks from the programme that may be relevant here:
First one is Denys Makogon, Oracle — “The Modern Challenge of Integrating C++ into the Java Ecosystem: Problems, Consequences, and Solutions”. The talk looks at what happens when Java applications need to use C++ libraries (OpenCV or OpenVINO). It covers differences in memory models, object lifetimes and error handling, and how to build a reliable bridge between the two languages.
Second one is Paweł Romul — “Your System Will Fail. What Now?”. Its a broader architecture talk examining two real incidents and the decisions that led to very different outcomes. This one isn’t C++-specific, but i think may interest people working on systems where failure handling shapes the design :)
Event details if you’re considering attending.
r/cpp • u/delta_p_delta_x • 3d ago
The intention and spirit behind modules seem diametrically opposed to their actual implementations by compiler toolchains.
The lynchpin of C++ modules is the built module interface (BMI). Each BMI is meant to be a lightweight data structure representing the syntax of a module unit (comprised of one primary module interface and potentially one or more partitions), with approximately O(1) complexity of symbol lookup. This massively accelerates repeated lookups into the same translation unit, and avoids paying the cost of a full preprocessor run and front-end lex + parse, as might otherwise happen with header files. In this way both the first clean build, and incremental builds are considerably accelerated and made much more efficient—build the BMI once, reuse it across future compiles, and we don't need large core counts and massively parallel jobs because the BMI is now available afterwards.
However, the way compiler toolchains have actually implemented them seems diametrically opposed to this goal of fast lookup. Today, BMIs are highly sensitive to any change in the command-line invocation of the compiler/dependency scanning tool, including the C++ version, warning and feature flags, and especially macro definitions, with -DMACRO or /DMACRO. This means that changing just one flag is likely to cause a BMI cache miss and a full BMI reconstruction, which can be fairly slow for larger modules (like module std).
BMIs are considered implementation details, and aren't even stable across compiler versions within the same toolchain. Compare to object files, where something compiled by really old versions can still be used on newer versions without too much fuss. This, from the user's perspective, entirely defeats that design ideal mentioned above: fast repeated lookups. Consider a simple example: a certain module uses a project-specific macro representing the platform, to change several function signatures. This module is now precompiled thrice, once each for -DFOO_WINDOWS, -DFOO_DARWIN, -DFOO_LINUX, instead of just once.
I believe that macros and the preprocessor are highly problematic. However, their very limitations are also an advantage here: their effect on code collapses to completely binary decisions. A macro is either defined or not, and a macro is either in the set of accepted values, or it isn't (e.g. #if __cplusplus >= 202603L). The preprocessor state might change throughout the source code of a translation unit, but the entire set of possible states can be enumerated in finite and reasonably short time at compile time—otherwise the front-end would never complete its work. To me, this seems like the preprocessor and parser could enumerate all possible preprocessor states of the source code, and stamp out both possibilities for each macro switch in the BMI; during lookup, the compiler can select the correct code path depending on what is provided at that particular invocation (not code definitions, but command-line invocations, as this would break the module assurance that macros do not leak into BMIs from consumers, nor do consumers see macros from a BMI).
This would make things like library feature configuration with macros really straightforward—specify the macros one wants for that feature at the command-line, which is enshrined in build system code rather than source code—the BMI can be reused, done.
Now, the compiler and C++ standard are a lot harder as these probably affect the internal state of the compiler rather than merely the value of __cplusplus; however, I genuinely feel like there really ought to be a better way forward, especially if C++ is to continue as a 'source may not be available' language. This discussion is moot if we always want to compile from source, but I want to say that is wasteful, and another driving force of the modules feature was to do away with wasteful and repeated recomputation of the same thing.
As mentioned above, build systems are also forced into this rather inefficient model to accommodate compiler behaviour. CMake in its latest iteration, for instance, has a notion of 'BMI compatibility', and probably does some sort of set manipulation on compile flags to determine if another BMI for the same module interface is needed or not, based on how it is imported. Why? This shouldn't be the case, a BMI really ought to be widely (if not universally) compatible, regardless of what flags go in the command-line.
I'm sure I don't have the entire picture as I am not a compiler front-end developer, and I don't mean to sound impertinent here, the effort put into delivering modules has been huge. However there are some decisions made which, as modules user and advocate, seem a little contradictory to the spirit of modules. I've written this after some thought on the situation and I'm interested in hearing from the community and compiler front-end developers who have worked on modules on my thoughts above.
Cheers.
r/cpp • u/selvakumarjawahar • 4d ago
C++ Under the sea conference
I just attended the C++ Under the Sea 2-day conference. I really enjoyed it. Watch out for talks from Hana, Matt and Kevin Henney. Really good keynotes
Matt presented his v4 version of this ZX Spectrum emulator: https://github.com/mattgodbolt/specbolt
Both Kevin Henney's and Hana's talks were new; at least I haven't seen a version of them before. These keynotes were really, really good. Hope it comes on YouTube soon.
Personally, I was a bit let down by talks from people who work for AI companies. The talks became more like a product user guide than anything to do with C++ or Programming.
Overall, an amazing conference. If you are in or around the Netherlands, you should plan to attend.
C++ futures part 4: What if I want an immediate on-thread std::async?
devblogs.microsoft.comr/cpp • u/ericbrumer • 6d ago
MSVC Build Tools Version 14.52 Release Candidate Now Available
devblogs.microsoft.comHi, one of the MSVC dev leads here.
The 14.52 MSVC Release Candidate is now available. If you are on the Visual Studio Insiders Channel and upgrade, you'll see that the default MSVC toolset has upgraded from 14.51 to 14.52. The blog post covers the features & fixes the team has landed in that timeframe.
C++23 is ready for production use, and available with the /std:c++23 compiler option. See the blog for more details.
We'll resume our monthly MSVC Preview (version 14.53) blog post series next month.
r/cpp • u/NicoJosuttis • 7d ago
"C++23 - The Complete Guide" now as Paperback
C++23 - The Complete Guide is now also available as paperback version.
You can order it, for example, at Amazon.
The book explains on 500 pages all new features of C++23 (covering both the core language and the standard library) with motivation, conceptional introduction of all aspects, and many examples of how to use the new features in practice.
The book is part of my "The Complete Guide" Series, trying to explain a programming language that is now so overwhelming that as a programmer it is hard to keep track of all its new features, benefits, and pitfalls.
Enjoy
Nico
r/cpp • u/LegalizeAdulthood • 6d ago
A Cross Toolkit Animation Timeline Control
youtube.comNew video from Utah C++ Programmers.