This morning in Issaquah, WA the C++ ISO Standards Committee voted C++23 into the standard. This is now the 5th standard since 2011 with a new standard coming every three years. Our trains really do run on time.
This was also the second hybrid meeting post COVID-19 with about a third of the committee attending remotely. If you look really hard at the laptop in the first row, right side you can just see the rest of us.
C++23 feels a lot like C++14 in some ways with a few new features and lots of defect fixes and extensions for C++20.
Among the new features in the standard:
- Stacktrace library
- std::expected
- std::print
- std::mdspan
- std::flat_map and std::flat_set
- Multidimensional subscript operator
- [[assume]]
- Monadic operations for std::optional
C++26 is already in flight.
I’m starting a new video series on my YouTube channel called Exploiting Modern C++: Real Code, Real Crimes.
Look for the inaugural video in the next week or so where I’ll talk about the ISO committee, C++23 & C++26 and two of the big changes that impacted our work this time and going forward.