I learned about the new range API of std::optional from Steve Downey at CppCon 2025 during his talk about std::optional. To be honest, I found the idea quite strange at first. I wanted to dig deeper to understand the motivation and the implications. The first example I encountered was this: 1 2 3 4 5 6 7 void doSomething(std::string const& data, std::optional logger = {}) { for (auto l : logger) { l.log(data); } return; } This shows that you can iterate over an optional. In fact, iterating ov...| Sandor Dargo’s Blog
We recently faced an interesting decision: what language should we use to rewrite our market data feed handler? Despite Rust's growing popularity in fintech and our own successful use of it in other systems, we chose C++.| databento.com
I usually only give one new talk a year, but this year I volunteered to give a second new talk at CppCon on a topic I haven’t spoken on before: draft C++26 contracts. Thank you to all the exp…| Sutter’s Mill
Qt 6.10 highlights ready-made accessibility features, easy layouts, higher contrast, simpler data exchange, smoother Android - and many other improvements!| www.qt.io
In this blog post, we walk through how to use Matrix Cores in HIP kernels, with a focus on low-precision data types such as FP16, FP8, and FP4, as well as the new family of Matrix Core instructions with exponent block scaling introduced in the AMD CDNA™4 architecture. Through code examples and illustrations, we provide the necessary knowledge to start programming Matrix Cores, covering modern low-precision floating-point types, the Matrix Core compiler intrinsics, and the data layouts requi...| AMD ROCm Blogs
In the expanding world of AI my heart still lies in AST transforms, browser fingerprinting, and anti-bot circumvention. But my workflow felt... primitive.| nullpt.rs
2025-10-05| blog.ganets.ky
OpenZL is a new open source data compression framework that offers lossless compression for structured data. OpenZL is designed to offer the performance of a format-specific compressor with the eas…| Engineering at Meta
The following libs appeared in C:\dev\libs\boost_1_89_0\lib:| DeveloperNote.com
Clojure, LLVM, and C++ walk into a bar. jank is born. Don't think about it too much.| jank-lang.org
If you’re a regular reader of my blog, you know I’ve been sharing what I learn about new C++ language and library features ever since C++20. You probably also read my CppCon 2025 Trip Report. And this post is where the two come together. At CppCon I attended a great talk by Steve Downey about std::optional. Steve is the father of optional references—he co-authored P2988R12 with Peter Sommerlad. Let’s start with a little history. By now — at the end of 2025 — even C++17 feels like ...| Sandor Dargo’s Blog
Explore how GitHub Copilot’s Agent mode in VS Code simplifies C++/QML refactoring, automates multi-file edits, and boosts developer productivity.| KDAB
The application icon for my data wrangling software looks like this on a Mac up to macOS 15.x: However, Apple has once again nuked everything from orbit. Now it looks like this in macOS 26 Tahoe when the application is inactive or if you choose any Icon & widget style apart from Default: Thanks Apple. […]| Successful Software
std::flip is a little-known utility from the C++ standard library header : it is a higher-order function that accepts a Callable and returns an equivalent Callable with the order of its parameters reversed (or “flipped”).| The Sparkelling Bedangler
Manually editing the tasks.json to add the desired C++ compiler option.| Giovanni Dicanio's Blog
In VS Code, selecting the C++ language standard is not as intuitive as one would expect.| Giovanni Dicanio's Blog
Let's discuss a possible way to build a "bridge" between the managed C# world and the native C++ world, using P/Invoke.| Giovanni Dicanio's Blog
Let's see how to fix a common problem when building mixed C++/C# projects in Visual Studio.| Giovanni Dicanio's Blog
Let's bust a myth that is a source of many subtle bugs. Are you sure that you can simply drop UTF-8-encoded text in char-based strings that expect ASCII text, and your C++ code will still work fine?| Giovanni Dicanio's Blog
Use STL string objects like std::string/std::wstring as a safe bridge.| Giovanni Dicanio's Blog
Passing STL std::[w]string objects at Win32 API boundaries is common for C++ code that calls into Win32 C-interface APIs. When is it safe to pass *string views* instead?| Giovanni Dicanio's Blog
How to *properly* convert Unicode strings to lower and upper cases in C++? Unfortunately, the simple common char-by-char conversion loop with tolower/toupper calls is wrong. Let’s see how to …| Giovanni Dicanio's Blog
“Informed” polling with wakers#| pigweed.dev
There’s a niche genre of music on the internet called “oscilloscope music”. This is electronic music that is designed to be visualized with an oscilloscope. Music visualizers have existed for a long time, but they often just display an image that represents the audio abstractly. Oscilloscope music allows the musician to draw arbitrary shapes using ... Read more| VAZGRIZ
This is the third in a series of blog posts about how I wrote and optimized VkColors, a small compute program written using Vulkan. | vazgriz.com
XTX Markets is a leading algorithmic trading firm which uses state-of-the-art machine learning technology to produce price forecasts for over 50,000 financial instruments across equities, fixed income, currencies, commodities and crypto. It uses those forecasts to trade on exchanges and alternative trading venues, and to offer differentiated liquidity directly to clients worldwide. The firm trades over $250bn a day across 35 countries and has over 250 employees based in London, Singapore, New...| www.xtxmarkets.com
My CppCon keynote video is now online. Thanks to Bash Films for turning around the keynotes in under 24 hours! C++ has just reached a true watershed moment: Barely three months ago, at our Sofia me…| Sutter’s Mill
This blog post summarizes changes to the vcpkg package manager as part of the 2025.08.27 registry release as well as changes to vcpkg documentation throughout August. There were no tool changes as of the date of the registry release in August, though more changes will be listed in the next release in September. Some stats […]| C++ Team Blog
NP-Incompleteness:| www.kuniga.me
Why C++ remains a powerful and relevant programming language in today's tech landscape.| dayvster.com
The new Constexpr Debugger available in the first CLion 2025.3 EAP build allows you to stay in the compiler’s world and see what really happens.| The JetBrains Blog
In Stack Overflow question Redefining lambdas not allowed in C++11, why?, a small program was given that does not compile: int main() { auto test = []{}; test = []{}; } The question was an...| Stack Overflow
[RFC] Ripple: A Compiler-Interpreted API for Efficient SIMD Programming TL;DR We have been working on Ripple, a lean addition to LLVM to support Single-Program, Multiple-Data (SPMD) and loop-annotation-based parallel programming for SIMD hardware. We propose a parallel programming API to support these two models, which departs from GPU-style SPMD programming, in that block computations of different dimensions (including 0) can coexist in the same function. This makes it easier to explicitly e...| LLVM Discussion Forums
Incredibuild Team reading time: Modern C++ development spans a vast range of applications—from high-performance servers and intricate game engines to AI-driven systems and cross-platform GUI software. Choosing the right library can make or break a project’s success, reducing development time, keeping your codebase cleaner, and ensuring software is future-proof. This post explores some of the […] The post Top 10 C++ libraries for your next project appeared first on incredibuild.| incredibuild
Incredibuild Team reading time: In the world of large-scale C++ development, selecting the right build system is key when dealing with complex project structures, slow build times, and a tangle of configuration files. Companies need a build system that aligns with their specific needs, whether that entails speed, flexibility, ease of use, or cross-platform compatibility. […] The post Choosing the right C++ build system: A comprehensive guide for developers appeared first on incredibuild.| incredibuild
What is a C++ compiler and how does it work? - C++ - incredibuild| incredibuild
This is an overview of some recent additions to the SimGrid code| /dev/posts/
If you pick a random talk at a C++ conference these days, there is a fair chance that the speaker will mention safety at least a couple of times. It’s probably fine like that. The committee and the community must think about improving both the safety situation and the reputation of C++. If you follow what’s going on in this space, you are probably aware that people have different perspectives on safety. I think almost everybody finds it important, but they would solve the problem in their...| Sandor Dargo’s Blog
This won’t be a long post, I promise. I decided to post more often, and I realized my posts require exponentially long time to write, correct, and more importantly convince myself they’re good enough and won’t contain too many mistakes (and inevitably I end up finding another couple of mistakes just after hitting “Publish”). Ok, …| C++ explained to my dog
There’s this annoying thing I’ve seen this in many codebases, and I’ve wrote it myself during the years.| C++ explained to my dog
Thanks to C++ on Sea for inviting me to speak in June! The talk video is now live, linked below. It was recorded just 48 hours after the Sofia meeting ended, with key updates hot off the press. Not…| Sutter’s Mill
We are excited to announce that GitHub’s Dependabot now brings automated dependency updates to C++ projects using vcpkg. This support is available for projects using vcpkg manifest files, empowering teams to keep their library dependencies current and secure with minimal effort. With Dependabot, your repo can receive automatic pull requests to upgrade your libraries to […]| C++ Team Blog
Note: Everything that follows is purely my personal opinion as an individual. It should not be seen as any sort of policy of the Meson buil...| nibblestew.blogspot.com
NP-Incompleteness:| www.kuniga.me
I reported this to ZipRecruiter months ago. When you use Agile, off-shore and “priced right” labor, one cannot expect valid software or anything that was even partially tested. Agile is just hacking on the fly after all. To start with, C++ is one of the most popular embedded systems programming languages ever. It’s predecessor, C, is the “portable assembly language” used to write numerous operating systems, including Linux. Anyone who went to college for an … ZipRecruiter Duth Suc...| Logikal Blog
Essential Constants for Numerical Algorithms and Scientific Computations| Lei Mao's Log Book
Hi! I am looking for a little input. The context is that I am trying to reduce the size of our arm64 (elf) executable. We can’t afford to lower the optimisation level due to performance targets, but we already do the following to keep exe sizes down: visibility=hidden We use a PGO profile ThinLTO data/function sections and gc-sections We don’t use RTTI/exceptions Enabled ICF in lld Is there something I am missing? I have searched through the forums and there has been talk about a machine ...| LLVM Discussion Forums
shared_ptr<T>: the (not always) atomic reference counted smart pointer| snf.github.io
Qt 6.10 introduces a generic implementation of QAbstractItemModel that can many any C++ range available to Qt's UI frameworks.| www.qt.io
A string formatting library in 65 lines of C++| riki's house
Version 4 of Microsoft's Proxy library brings feature improvements, better diagnostics, better code generation, modern compiler/debugger support.| C++ Team Blog
I've been able to finish the version 0.4.1 of budgetwarrior before I though :) Expense templates The "most useful" new feature of this release is the ability to create template for expenses. For that| Blog blog("Baptiste Wicht");
I've just released a new version of my command-line budget manager: budgetwarrior 0.4. Enhanced aggregate overview The aggregate overviews have been greatly improved. First, there is now a budget ove| Blog blog("Baptiste Wicht");
I've finished a new version of budgetwarrior: budgetwarrior 0.3.1 Changes The most interesting change is the ability to estimate the date when it is a good time to buy something from the wish list. Th| Blog blog("Baptiste Wicht");
When working in a C++ repo, you often are maintaining and updating existing code just as often as you are writing new code. However, updating code in C++ can often require navigating to several different locations in a file to ensure consistency, which can disrupt your logical workflow. For example, changing a data member’s access […]| C++ Team Blog
Learn how to forward Rust tracing logs to the Qt logger using CXX-Qt 0.8.0. Achieve unified logging, consistent formatting, and better filtering for Rust + Qt applications.| KDAB
This is not a formal proposal. It’s just my take on what a working proposal would generally look like. In particular there are real proposals that look a lot like this (and I think they get some of the details wrong but that’s beside the point). If you want a serious takedown of the most […]| Abandonculture
arith-cxx-tagless-final| Shayne Fletcher
Whenever invariants can be expressed as proofs rather than as tests that may or may not be exhaustive, the mathematical guarantees of model checkers will provide stronger assurances the code is correct.| Colin Breck
Python's os.path.abspath or Path.absolute are great: you give them a path, which might not exist, and you get a path you can use regardless of the current directory. os.path.abspath will also normalize it, while Path will not by default because with Paths a normal form is less needed. This is great to normalize input, regardless of if it's an existing file you're needing to open, or a new file you're needing to create. In C++17, there is a filesystem library with methods with enticingly simil...| Enrico's blog
One of the things that always bothered me about video calling apps, is that what is showed to you on the bottom right corner never reflects the quality of the video your interlocutor is actually receiving. In fact compression is the name of the game in video calling apps, as understandably they try to minimize […]| ReachableCode
The first thing I do every time I need to learn a new codebase is to start drawing the UML diagram of its classes, and usually give up soon after I started. The process of doing it manually is certainly useful, but now with reflections I figure it would be fun to try generate it instead.| ReachableCode
Improvements to #pragma warning and gsl::suppress in Microsoft C++ Code Analysis.| C++ Team Blog
The Inevitable Transformation| krakjoe.github.io
🎉 Clazy Now Integrates with Clang-Tidy!| Alexander’s homepage
The topic of dependencies management is coming back and again. nix and nixpkgs being a rich repository, provides a convenient way to manage both project dependencies and related tooling in a reproducible way. This is something I’m finding more and more useful as a fundamental development tool. nix is quite complex and some exploration is needed to wrap your head around it. In this post, I’m going through most basic use cases as well as describe some basics of nix language itself - mainly ...| twdev.blog
In an excellent post on writing secure maintainable C code, curl maintainer Daniel Stenberg writes: Smaller functions are easier to read and understand than longer ones, thus preferable. And heR…| The Reinvigorated Programmer
Code signing and notarization on macOS. Two of the big reasons you got into the plugin business, right? The post How to code sign and notarize macOS audio plugins in CI appeared first on Melatonin.| Melatonin
You hereby have my permission to ~waste~ spend hours customizing how your types display in your lldb IDE while debugging. The post How to create LLDB type summaries and synthetic children for your custom types appeared first on Melatonin.| Melatonin
Love it or hate it, CMake is the best way to get a JUCE app running cross platform. Here's some tips!| Melatonin
It’s no secret that my taste in programming languages is very weird for a programming language enthusiast professional. Several of my last few posts are about Go, broadly regarded as the programming language equivalent of eating plain oatmeal for breakfast.| mcyoung.xyz
How STL algorithms parallel the fundamental theorem of calculus.| mmapped.blog
C++ code understanding Developing C++ code can be complex. C++ project structure, style, and convention can vary widely from repository to repository, and critical context for a given task often spans multiple files. This can require C++ developers to open and navigate across several files to fully understand a given project and author new code. […]| C++ Team Blog
This blog post summarizes changes to the vcpkg package manager as part of the 2025.06.13 registry release, 2025-04-16, 2025-05-19, and 2025-06-02 tool releases, as well as changes to vcpkg documentation throughout May and June. This release includes bug fixes, several documentation changes, and the removal of the x-gha binary caching provider for GitHub (alternatives are […]| C++ Team Blog
Enhance your C++ logging with pretty-printed, indented output for nested structs using fmt and spdlog. Learn to implement custom formatters with CRTP for clean, readable logs.| KDAB
In computing, serialization is the process of translating a data structure or object state into a format that can be stored or transmitted and reconstructed later. The opposite operation, extracting a data structure from a series of bytes, is deserialization. en.wikipedia.org 開発者ブログの主にネタプログラミング担当、e.…| ESM アジャイル事業部 開発者ブログ
The following post will talk about the design of the first version of the Intermediate Representation of Kunai, the design decisions and how it was implemented.| Eduardo Blázquez’s Personal Webpage
Following the previous post about using Triton for solving challenges through symbolic execution and SMT Solving, this time we will try solving an obfuscated hacklu.| Eduardo Blázquez’s Personal Webpage
Triton is a library for doing Symbolic Execution, useful for doing common CTF challenges and analyzing obfuscations. TritonDSE is a library built on top of Triton which provides easy and customizable Dynamic Symbolic Execution Capabilities| Eduardo Blázquez’s Personal Webpage
Kunai is a library for analyzing Dalvik Executable Files, this library is written in C++ for performance reasons| Eduardo Blázquez’s Personal Webpage
Explanation of Static Single Assignment Algorithm for MLIR| Eduardo Blázquez’s Personal Webpage
Introduction In the previous part of this series, we laid out some foundations that will...| DEV Community
I’ve had a few conversations about async code recently (and not so recently) and seen some code that seems to make wrong assumptions about async, so I figured out it was time to have a serious chat about async, what it’s for, what it guarantees and what it doesn’t.| Il y a du thé renversé au bord de la table !
GWP-ASan finds rare memory errors in C and C++ called from Rust.| Colin Breck
Incredibuild Team reading time: From small microcontrollers to large industrial automation systems, embedded development is at the heart of the devices and products we use every day. This special branch of software engineering focuses on creating software for hardware environments that have limited power, limited computing, and often strict real-time constraints. In these situations, choosing […] The post C++ for embedded development: Pros and cons appeared first on incredibuild.| incredibuild
The packing of data is good practice for many reasons, including disk space and efficient RAM or cache access. If we know the meaning of data we can often narrow down the range and precision, making informed decisions as to the amount of bytes we need. I was inspired once… Continue reading| The Code Corsair
Recurrent internet discussions show a divide between programmers working in different industries. Topics like code clarity, performance, debuggability, architecture or maintainability are a source of friction. We are, paraphrasing the quote, industries divided by a common language. I am curious about other programmers’ experiences, and I wanted to present a… Continue reading| The Code Corsair
Within the arsenal of lights provided by game engines, the most popular are punctual lights such as point, spot or directional because they are cheap. On the other end, area lights have recently produced incredible techniques such as Linearly Transformed Cosines and other analytic approximations. I want to talk about… Continue reading| The Code Corsair
This tutorial shows how to display Qt Widget windows in a Qt Quick application, combining the flexibility of both frameworks. Learn how to manage integration through C++, expose widget properties and signals to QML, and build multi-window UIs for desktop or embedded platforms from real world examples.| KDAB
At Electronic Arts (EA), the Frostbite Enginering Workflows team has thousands of developers who work on powerful game engines behind popular games. EA has relied on Visual Studio for years due to several features such as IntelliSense, Build Insights, and the overall debugging experience and eagerly use newer integrations such as GitHub Copilot. They also […]| C++ Team Blog
Last week, C++26 was finalized in Sofia, Bulgaria — and C++26 will include all of the reflection papers that we were pushing for:| Barry’s C++ Blog
A unique milestone: “Whole new language” Today marks a turning point in C++: A few minutes ago, the C++ committee voted the first seven (7) papers for compile-time reflection into draft…| Sutter’s Mill
So you want to serialize some DER?| alexgaynor.net
Solving the Leetcode 24 Game by precomputing the results in a relatively small associative array, although it is marked as a HARD problem.| WaspDev
A clever logarithmical solution for Leetcode Pens and Pencils problem| WaspDev
Introduction It has been an exciting few months for the Address Sanitizer (ASan) since our last update. In addition to our continuous focus on quality and correctness, our internal “dogfooding” (i.e. internal adoption) effort has reached several important milestones. In this update, I want to go over some of the quality improvements since Visual Studio […]| C++ Team Blog
Ever wondered how a program executable file are loaded by the operating system, despite these files| My Reality Blog
In this article, we are going to learn how to write software that uses configuration files using ESP-IDF. Kconfig Kconfig is the configuration system used by the Linux kernel and by ESP-IDF. It allows management of project settings through a structured and hierarchical menu system. It allows developers to write configuration files that specify the available configuration options for a piece of software.| ncona.com
Spoiler: this is a rant. 😂 I have tried to write a small side project in modern C++ recently. I wanted to have a proper setup with modern tooling and practices, in part because I wanted to see what the state of the art was for C++. So I settled on these tools: compiler: clang; build system: cmake; dependencies resolution: conan; unit test framework: I have adopted catch 2, because it looked quite simple; lsp: I have used clangd; linter: there seem to be multiple valid choices, but I have s...| Andrea Bergia's Website
Visual Studio 2022 version 17.14 is now generally available! This post summarizes the new features you can find in this release for C++. You can download Visual Studio 2022 from the Visual Studio downloads page or upgrade your existing installation by following the Update Visual Studio Learn page. Standard Library and Compiler We’ve made a myriad of […]| C++ Team Blog