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
Slint 1.13 Released with Live-Preview for Rust and C++| slint.dev
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
I’ve been on a long-term quest to find a simple, fast, and user-friendly way to develop native applications for a variety of platforms, and this page holds the results of that research.| Tao of Mac
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
I see in noise functions a lot the function "&256" I think it's used to wrap a remainder from 0 again for values larger than 256. Is this what the function does? For example In c++ Int A = B & 256; What happens if I try using for example 300? Does & 128 work to wrap at 128 but 300 doesn't because it is not a binary power of 2? So only &2, &4, &8, &16, &32, &64, &128 ,&256 work to be wrapped but for example &300 doesnt? I understand this is a binary function| Recent Questions - Game Development Stack Exchange
I'm implementing perlin noise in C++. I have a permutation table for the gradients vectors and want to shuffle them with a 2 number hash that has 2 purposes. The hash uses the integer portion of the current X and Z position of the float or double with 1 hash method (possibly Szudzik hashing) and another hash to generate a number used to select which element of a unshuffled permutation table to select (possibly using modulus of a division for any point not equal to zero) but I'm looking for be...| Recent Questions - Game Development Stack Exchange
First, I'd like to highlight my personal premise on error handling approaches in C++ (as it might be the source of confusion in the first place). C++ Standards, 2004 (Sutter, Aleksandrescu), item 68 states as follows: Use assert or an equivalent liberally to document assumptions internal to a module (i.e., where the caller and callee are maintained by the same person or team) that must always be true and otherwise represent programming errors (e.g., violations of a function's postconditions d...| Recent Questions - Software Engineering Stack Exchange
I have spent the past two days investigating which technology I will use to support translations of text strings (as part of an overall internationalization migration) for an archaic (VC6) Windows desktop application (with MFC) that is being migrated to Visual Studio 2013 at the same time that it is being internationalized. I have all but decided to use GetText to implement text (string) translations (given the availability of Poedit, Eazy Po, and perhaps other tools; at least Poedit also inc...| Recent Questions - Software Engineering Stack Exchange
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
I'm writing a gdextension and trying to format a string using an array as one of the parameters. Example: auto angles = godot::Array::make(1.0, 2.0, 3.0); auto s = godot::String("{0} {1}").format(godot::Array::make(1.0, angles)); // Hoping to get something like "1.0 [1.0, 2.0, 3.0]" But running this code throws an error: STRING.format Inner Array size != 2 What is the correct way of formatting a string with an array parameter?| Recent Questions - Game Development Stack Exchange
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
It is said that C's type system is unsound, which means that it has "false negatives", it tells the programmer everything is fine, but then the code fails at runtime. for example, "the program can reach a state where an expression evaluates to a value that doesn't match the expression's static type" I learned it from the lecture notes of the course CSE341 in university of Washington which are available online. It says: with respect to some thing X we wish to prevent. For example, X could be, ...| Recent Questions - Software Engineering Stack Exchange
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");
This blog post summarizes changes to the vcpkg package manager as part of the 2025.07.25 registry release, 2025-06-20, 2025-07-16, and 2025-07-21 tool releases, as well as changes to vcpkg documentation throughout July. This release includes a new command for printing package SPDX licenses, binary caching optimizations, and support for visionOS, Solaris, and illumos systems. Some […] The post What’s New in vcpkg (July 2025) appeared first on C++ Team Blog.| C++ Team Blog
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
We’re excited to announce the latest 1.21 release of the CMake Tools extension for Visual Studio Code. This update brings a host of new updates, including addressing one of our top-voted issues for multi-root improvements and adding CMake presets version 10 support. To view the full list of updates with this release, please look at […] The post Visual Studio Code CMake Tools Extension 1.21 Release: Multi-root improvements, CMake Presets v10, and more… appeared first on C++ Team Blog.| C++ Team Blog
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. […] The post Smarter, workspace-aware code completions for C++ in VS Code appeared first on C++ Team Blog.| 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
An example of how to simplify over-engineered C++ code| blog.kowalczyk.info
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
KDAB and Schneider Digital developed a system that automates stereo 3D setup by dynamically calculating focal distance, camera separation, pop-out, and field of view. A focus-area method inspired by digital cameras continuously adjusts depth, enabling a plug-and-play experience without manual tuning.| KDAB
Implementing item drops in the model/view qt involves dropping onto items. Emails moved between folders are a common example of applying this approach.| KDAB
TypeSanitizer¶| clang.llvm.org
Option A: Separate file for each example#| pigweed.dev
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
Junji Watanabe| groups.google.com
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
… Let’s talk about something that has haunted me for over a year now.| The Pasture
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 […] The post Address Sanitizer Updates for Visual Studio 2022 Version 17.14 appeared first on C++ Team Blog.| 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
A book to help translate C++ idioms into Rust.| cel.cs.brown.edu
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
The /forceInterlockedFunctions[-] switch generates and links with out-of-line atomics that select Armv8.1+ Large System Extension (LSE) atomic instructions based on CPU support.| C++ Team Blog
TL;DR: Most C++ and Rust thread‑pool libraries leave significant performance on the table - often running 10× slower than OpenMP on classic fork‑join workloads and micro-benchmarks. So I’ve drafted a minimal ~300‑line library called Fork Union that lands within 20% of OpenMP. It does not use advanced NUMA tricks; it uses only the C++ and Rust standard libraries and has no other dependencies. OpenMP has been the industry workhorse for coarse‑grain parallelism in C and C++ for de...| Ash's Blog
The Ivory Tower is a blog about software engineering and development philosophy by Anders Sundman.| 4zm.org
Volker Hilsheimer, chief maintainer of the Qt project, says he has learned lessons from the painful Qt 5 […]| DEVCLASS
I'm pleased to announce the release of another budgetwarrior release, the version 0.3.0. Changes This version contains several important changes. The first one is the addition of a new module to manag| Blog blog("Baptiste Wicht");
I've released a new version of budgetwarrior the version 0.2. I've several new features to the tool. First, I've added a graph of the expenses/earnings/balances of each month for a given year in the f| Blog blog("Baptiste Wicht");
Being bored by using Google spreadsheets for my personal budgeting, I decided to write an application to do that. Being a huge fan of taskwarrior, I decided to write a kind of similar application for| Blog blog("Baptiste Wicht");
Qt Bridges presented on stage at the Qt World Summit in Munich, by Qt project chief maintainer Volker […]| DEVCLASS
CLion, a JetBrains IDE, is now free for non-commercial use! Learn more in the blog post.| The JetBrains Blog
Introduction In this update, we continue the tradition of bucketing bugs into helpful categories for you all to filter through along with even more notes from the compiler team as to what, exactly, was fixed. This blog is also complemented by the recent Pure Virtual C++ pre-conference talk by RanDair Porter; so please check out […]| C++ Team Blog
This blog post summarizes changes to the vcpkg package manager as part of the 2025.04.09 registry release, 2025-03-22, 2025-04-01, and 2025-04-07 tool releases, as well as changes to vcpkg documentation throughout April. This release contains bug fixes, a new documentation article on offline usage of vcpkg, and other minor improvements. Arm64 Linux users of vcpkg […]| C++ Team Blog
The Remote File Explorer in Visual Studio provides developers with a convenient way to browse, view, and edit files on remote machines—directly from within the IDE. It’s a powerful tool for managing remote environments without leaving your development workflow. Scott Hanselman published a new YouTube video to his channel, taking us on the journey of […]| C++ Team Blog
NP-Incompleteness:| www.kuniga.me
Low, Lower, Lowest Level Programming How low can you go? When it comes to embedded programming, the "full stack" starts at the PCB. In a recent talk at our local C++ meetup in Stockholm, I explored this in depth. Let's find out what's at the end of the rainbow by diving into topics like memory management, interrupt vector tables and electronics!| The Ivory Tower
Steal this Class Class design in C++ is hard. Really, really, hard. I love C++ but, sadly, all the defaults are wrong.| The Ivory Tower
jank is the first Lisp to be able to seamlessly reach into C++. Check it out!| jank-lang.org
This post is composed of infographics on the basics of compilation assembly and compiler optimizations. We're going to be learning about compilation, assembly code and folds in C# and C++.| LevelUp++
The idea I had a great idea. We have constexpr if, but no constexpr conditional operator. Time for a proposal? Since we can do stuff like this: Wouldn’t it be cool if we could also do My motivation was that I had a std::variant visitor that was identical for all types except one. So instead … Continue reading Why we probably shouldn’t have constexpr conditional operator→| C++ on a Friday
Microsoft has five different version numbers to think about when it comes to C++. Here’s an attempt to explain what they all mean. Visual Studio release year (the “marketing version num…| C++ on a Friday