C++26 is done ISO C++ standards meeting, Trip Report
by pjmlp on 3/29/2026, 5:46:12 PM
Comments
by: chrisaycock
std::execution is very interesting, but will be difficult to get started with, as cautioned by Sutter. This HPC Wire article demonstrates how to use standard C++ to benefit from asynchronously parallel computation on both CUDA and MPI:<p><a href="https://www.hpcwire.com/2022/12/05/new-c-sender-library-enables-portable-asynchrony/" rel="nofollow">https://www.hpcwire.com/2022/12/05/new-c-sender-library-enab...</a><p>Overlapping communication and computation has been a common technique for decades in high-performance computing to "hide latency", which leads to better scaling. Now standard C++ can be used to express parallel algorithms without tying to a specific scheduler.
3/29/2026, 8:35:21 PM
by: suby
I am somewhat dismayed that contracts were accepted. It feels like piling on ever more complexity to a language which has already surpassed its complexity budget, and given that the feature comes with its own set of footguns I'm not sure that it is justified.<p>Here's a quote from Bjarne,<p>> So go back about one year, and we could vote about it before it got into the standard, and some of us voted no. Now we have a much harder problem. This is part of the standard proposal. Do we vote against the standard because there is a feature we think is bad? Because I think this one is bad. And that is a much harder problem. People vote yes because they think: "Oh we are getting a lot of good things out of this.", and they are right. We are also getting a lot of complexity and a lot of bad things. And this proposal, in my opinion is bloated committee design and also incomplete.
3/29/2026, 7:00:34 PM
by: ill_ion
Contracts feel like the right direction but the wrong execution timeline. The Ada/SPARK model shows how powerful contracts become when they feed into static verification — but that took decades of iteration on a language with far cleaner semantics. Bolting that onto C++ where UB is load-bearing infrastructure is a different beast entirely. The real risk isn't complexity for complexity's sake — it's that a "minimum viable" contracts spec gets locked in, and then the things that would actually make it useful for proof assistants become impossible to retrofit because they'd break the v1 semantics. Bjarne's concern about "incomplete" is more worrying to me than "bloated."
3/29/2026, 8:26:15 PM
by: jcalvinowens
The "erroneous behavior" redefinition for reads of uninitialized variables is really interesting: <a href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2795r5.html" rel="nofollow">https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p27...</a><p>It does have a runtime cost. There's an attribute to force undefined behavior on read again and avoid the cost:<p><pre><code> int x [[indeterminate]]; std::cin >> x;</code></pre>
3/29/2026, 8:26:09 PM
by: dataflow
> Second, conforming compiler and standard library implementations are coming quickly. Throughout the development of C++26, at any given point both GCC and Clang had already implemented two-thirds of C++26 features. Today, GCC already has reflection and contracts merged in trunk, awaiting release.<p>How far is Clang on reflection and contracts?
3/29/2026, 7:55:36 PM
by: LatencyKills
This is awesome. I've was a dev on the C++ team at MS in the 90s and was sure that RTTI was the closest the language would ever get to having a true reflection system.
3/29/2026, 6:29:08 PM
by: mohamedkoubaa
Biggest open question is whether the small changes to the module system in this standard will actually lead to more widespread adoption
3/29/2026, 6:27:35 PM
by: AyanamiKaine
I am actually excited for post and pre conditions. I think they are an underused feature in most languages.
3/29/2026, 8:01:20 PM
by: affenape
Finally, reflection has arrived, five years after I last touched a line in c++. I wonder how long would it take the committee, if ever, to introduce destructing move.
3/29/2026, 6:46:49 PM
by: porise
I don't care until they stop pretending Unicode doesn't exist.
3/29/2026, 7:22:22 PM
by: VerifiedReports
As long as programmers still have to deal with header files, all of this is lipstick on a pig.
3/29/2026, 7:59:14 PM
by: delduca
Sadly, transparent hash strings for unordered_map are out.
3/29/2026, 7:10:43 PM
by: levodelellis
Great. C++20 has been my favorite and I was wasn't sure what the standards says since it's been a while. I'll be reading the C++26 standard soon
3/29/2026, 6:55:33 PM
by: rustyhancock
I look forwards to getting to make use of this in 2040!<p>Proper reflection is exciting.
3/29/2026, 6:33:26 PM
by: the__alchemist
Seeing that pic at the top of the article, and reflecting on my own experiences with rust: It is wild just how male-centric systems programming languages are. I'm from a career backround that's traditionally male-dominated (military aviation), but the balance is far more skewed among C, C++ and Rust developers.
3/29/2026, 7:54:59 PM