Trip report: June 2026 ISO C++ standards meeting (Brno, Czechia)Adopted this week in draft C++29: Complete catalog of all undefined behavior in C++. Contract pre/post support for virtual functions. Defaulting (=default) for postfix increment/decrement. Designated initializers for base classes. Python-style .lookup(key) for associative containers. And more…Sutter’s MillC++ Blogs, the last 7 days
Saturday, June 13, 2026
Trip report: June 2026 ISO C++ standards meeting (Brno, Czechia)Adopted this week in draft C++29: Complete catalog of all undefined behavior in C++. Contract pre/post support for virtual functions. Defaulting (=default) for postfix increment/decrement. Designated initializers for base classes. Python-style .lookup(key) for associative containers. And more…Sutter’s MillIf this page is useful, please consider donating a coffee
Friday, June 12, 2026
GitHub Copilot modernization for C++ is out of previewGitHub Copilot modernization for C++ is out of preview as of Visual Studio 2026, helping you upgrade your MSVC Build Tools with an AI-guided workflow. The post GitHub Copilot modernization for C++ is out of preview appeared first on C++ Team Blog .C++ Team Blog
Katakana and CypriotFrom Louis Godart’s The Phaistos Disc: The Enigma of an Aegean Script (1994, tr. Alexandra Doumas):Arthur O’DwyerThursday, June 11, 2026
MSVC Build Tools Preview updates – June 2026Try the latest updates to MSVC Build Tools Preview The post MSVC Build Tools Preview updates – June 2026 appeared first on C++ Team Blog .C++ Team Blog
One PolyData Mapper Instead of Two: Measuring Vertex Pulling on the DesktopVTK ships two OpenGL polydata mappers that do the same job two different ways. We maintain both. I wrote the second WebGL2/GLES3.0 mapper back in 2023 due to a need for polydata rendering in VTK.wasm using vertex pulling. It's called vertex pulling since it's the vertex shader that decides which vertex data to read vs the traditional way where vertex data is supplied automatically via attributes. The historical reason for keeping them separate was a performance belief: vertex pulling is too slow for the desktop. We turned that belief into measurements on a native NVIDIA GL stack, and it does not hold up. With a two-line change: an indexed draw, vertex pulling can match the classic interleaved-VBO mapper on GPU time across every workload we tried, it carries a realistic 4-attribute vertex with no penalty, and adds zero CPU overhead per frame. The assumption that kept the mappers apart is no longer relevant. This post shows the numbers and argues we should merge the two mappers.Kitware Inc
Understanding the rationale behind a rule when trying to circumvent itI mean, technically I didn't do it. The post Understanding the rationale behind a rule when trying to circumvent it appeared first on The Old New Thing .The Old New Thing
Introducing Qt's Figma Design System Extraction Skills for DevelopersRecreating a design system manually in QML is a laborious task for a Qt developer. A typical Figma design system can include hundreds of design tokens for colors, typography, spacing, radii, shadows, and motion durations - plus dozens of UI components, each with multiple variants and states. Every value has to be transcribed precisely, and even small mismatches can quietly desynchronize the implementation from the Figma source. Two new AI skills close the design-system-to-code gap between Figma and Qt. The Qt Figma Token Extraction skill converts your Figma design tokens directly into QML singletons. The Qt Figma Component Generation skill then turns your Figma component library into idiomatic QML controls that consume those singletons. Together they automate the full design-system handoff. The skills delegate this entire workflow to an AI agent, which connects to Figma, reads the design system, and produces clean, idiomatic QML ready to drop into a Qt project.Qt BlogWednesday, June 10, 2026
What’s the opposite of ClipCursor that lets me exclude the cursor from a region?There is no such feature, but you can just exclude it virtually. The post What’s the opposite of ClipCursor that lets me exclude the cursor from a region? appeared first on The Old New Thing .The Old New Thing
Modern C++ Support in CLion: What’s NewModern C++ makes advanced high-performance techniques more accessible, with features like compile-time computation, zero-overhead abstractions, and expressive template code. But as your codebase grows, your ability to use these techniques productively depends heavily on how well your tooling understands them. Without proper language engine support, modern C++ features can lead to false positives, broken navigation, […]CLion : A Cross-Platform IDE for C and C++ | The JetBrains BlogTuesday, June 9, 2026
SovereignThe keyword in politics these days is ‘sovereign’. What few will admit is that it is effectively the adoption of the American strategy: Make America Great Again. In other words, reindustrialization of key sectors of the economy. The UK used to be a computing champion. Our chip designs (ARM) originated from the UK. Canada had … Continue reading SovereignDaniel Lemire's blog
The Microsoft Company Party where everybody played name tag swapEven the boss got into the festivities. The post The Microsoft Company Party where everybody played name tag swap appeared first on The Old New Thing .The Old New ThingMonday, June 8, 2026
Rotation revisited: Shuffling more than three blocks, and other small notesGeneralizing the shuffle to arbitrary numbers of blocks. The post Rotation revisited: Shuffling more than three blocks, and other small notes appeared first on The Old New Thing .The Old New Thing
Faking keyword arguments to functions in C++One of the many nice language features in Python are keyword arguments. They make some types of APIs concise and readable. Like so: Unfortunately C does not have keyword arguments and, by extension, neither does C++. Adding them as a language feature would take 15-20 years of effort, most of which would consist of trying to convince people via email that such a feature is important and should be added. There have been attempts to implement this via macros and template magic ( link ), but they have not seen widespread usage probably because they are using macros and template magic. However it turns out that with modern language features you can fake keyword arguments fairly convincingly. Like so: The add_argument method takes a single argument which is a struct. The extra curly braces inside the parentheses boil down to "whatever the underlying argument is, construct it in place with these parameters". The dotted names are designated initializers, so those fields get the specified value whereas other fields get their default values. And there you go, keyword arguments in C++. You just have to squint a bit and pretend not to see the extra curly braces.Nibble StewSunday, June 7, 2026
C++26 Reflection gives us universal template parametersKeenan Horrigan on the std-proposals mailing list pointed out an interesting consequence of C++26 Reflection: it seems to give us “universal template parameters” almost for free.Arthur O’Dwyer