The familiar solution for thick value classes that want to preserve binary compatibility is to use the pimpl pattern (private implementation), also known as d-pointer (pointer to data). In future versions of our class, we can freely change the contents of the pimpl (i.e. adding, removing, and/or modifying data members) but the binary compatibility of […]
Technical Get the RSS Feed
CXX-Qt 0.5 Released
We just released CXX-Qt version 0.5! CXX-Qt is a set of Rust crates for creating bidirectional Rust ⇄ C++ bindings with Qt. It can be used to integrate Rust into C++ applications using CMake or build Rust applications with Cargo. CXX-Qt provides tools for implementing QObject subclasses in Rust that can be used from C++, […]
Qt 6 Debugging in Visual Studio and VS Code Show More Qt Value Types in the Debugger
Not all Qt developers are using Qt Creator as their main IDE for development. Some of us are using other IDEs, like Visual Studio, Visual Studio Code or CLion, per choice or because a project requires it. On Windows, with the MSVC compiler, the debugging experience with Qt 6 can be quite frustrating for some […]
FMA Woes
Floating-point math is hard, and compilers will exploit every language loophole to make our FP calculations go faster, sometimes with surprising results.
QObjects, Ownership, propagate_const and C++ Evolution Const Correctness in Qt Applications
A very common implementation pattern for QObject subclasses is to declare its child QObjects as data members of type “pointer to child.” Raise your hand No, keep your hand on your computer input device 🙂 Nod if you have ever seen code like this (and maybe even written code like this yourself): A fairly common […]
Introducing kdalgorithms An Algorithms Library for C++14 and Above
Introducing the kdalgorithms library, purposed to make it easier to work with algorithms in C++14 and up.
On QVarLengthArray and Uninitialized Storage in C++
If you’re following our Youtube channel you might have heard me talking about QVarLengthArray. If you’re not… you should follow us! But let me give you a quick recap. QVarLengthArray is a Qt container that acts like a vector; its elements are stored contiguously in memory and it has a dynamic size. At any time […]
The Top 100 QML Resources for Developers
An overview of QML related blogs and video tutorials for all levels from beginner to advanced. Includes material for getting started, qt creator, development, tools, graphics and other in-depth topics.
C/C++ Profiling Tools
This blog will give you a brief overview of profiling C and C++ applications. Additionally, it will lay before you all of the tools available, with the purpose of aiding you in choosing the right tools at the right times.
Hotspot v1.4.0 Better Disassembly View and More...
Hotspot 1.4.0 has been released! Hotspot is a replacement for perf report. It’s a GUI for the perf profiler that takes a perf.data file, parses and evaluates its contents, and then displays the result in a graphical way. This feature release contains close to 400 commits since the last stable v1.3.0 release. It comes with its […]