From andreasfertig.blog
0 0
First, if you haven't heard the good news, C++23 was finally published by ISO. Looking at how I (and others) name this C++ standard rai...
on Nov 13
From andreasfertig.blog
unique_ptr and the pointer to implementation idiom
0 0
Last time, I wrote about unique_ptr and PImpl, demonstrating why you can't use a unique_ptr for PImpl. This time, I'd like to show you...
on Nov 5
From andreasfertig.blog
Smart pointers and the pointer to implementation idiom
0 0
A post I wrote back in 2023 When an empty destructor is required resulted in feedback that I'd like to address in today's post. In the...
on Oct 1
From andreasfertig.blog
Understanding the inner workings of C++ smart pointers - The shared_ptr
0 2
After last months Understanding the inner workings of C++ smart pointers - The unique_ptr with custom deleter you're curious about how...
on Sep 3
From andreasfertig.blog
Write modern code with features of C++17 and C++20
0 1
When you transition from older C++ standards like C++11 or C++14 to the latest C++17 and C++20 it can be a tough journey. It's essentia...
on Aug 30
From andreasfertig.blog
0 0
I'm thrilled to let you know that I'll give the workshop "Modern C++: When Efficiency Matters" as part of the CppCon Academy in Aurora,...
on Aug 14
From andreasfertig.blog
0 0
Today's post is probably easier and shorter than usual. But that doesn't mean the feature is any less powerful. I like to present you C...
on Aug 9
From andreasfertig.blog
Understanding the inner workings of C++ smart pointers - The unique_ptr with custom deleter
0 0
Let's continue where I left off last time. You've seen a simple implementation of a unique_ptr in Understanding the inner workings of C...
on Aug 6
From andreasfertig.blog
Understanding the inner workings of C++ smart pointers - The unique_ptr
0 0
Have you always wondered how the two smart pointers unique_ptr and shared_ptr work internally? Then, this series might give you a bette...
on Jul 2
From andreasfertig.blog
C++20: A coroutine based stream parser
0 0
In this post, I like to show you how C++20's coroutines can help you when writing a stream parser. This is based on a protocol Andrew T...
on Jun 25
From andreasfertig.blog
Calling a C++ member function with a null object
0 0
In today's post, I'll show you what happens if you call a member function on a null object. C++ is interesting, and sometimes it surpri...
on Jun 4
From andreasfertig.blog
Happy 6th anniversary C++ Insights
0 0
This year, we celebrate the 6th anniversary of C++ Insights! Thank you all for the wonderful five years of support! The current status...
on May 13
From andreasfertig.blog
0 0
Today's post is motivated by some past discussion that came up during standardization. The renaming of two views back to their original...
on May 10
From andreasfertig.blog
Exploring the impact of top-level cv-qualifiers on type-deduction
0 0
In today's post, I will continue where I left off with last month's post Understanding the role of cv-qualifiers in function parameters...
on May 7
From andreasfertig.blog
0 0
Since we have noexcept in the language, destructors are implicitly noexcept. One interesting part here is that this statement is true f...
on Apr 12
From andreasfertig.blog
C++ Insights with Clang 18 and more
0 0
I'm happy to announce that C++ Insights is now driven by LLVM/Clang 18! This time, updating to the new Clang version was more straightf...
on Apr 5
From andreasfertig.blog
Understanding the role of cv-qualifiers in function parameters
0 0
In today's post, I will continue where I left off with last month's post C++ top-level qualifiers explained. This time, I will focus on...
on Apr 2
From andreasfertig.blog
Level Up Your C++ Skills: Essential Tools and Resources for Effective Practice
0 0
Today, I want to share my C++ resources page with you: andreasfertig.com/cpp-resources/. This page contains books, conference videos, b...
on Mar 25
From andreasfertig.blog
Why you shouldn't provide an empty destructor
0 0
Today's post is a written version of C++ Insights episode 38 I published back in May. I decided to write this post to be able to use wh...
on Mar 8
From andreasfertig.blog
C++ top-level qualifiers explained
0 0
In today's post, I would like to address the question, "What is a top-level cv-qualifier, and why is it important to understand?". Well...
on Mar 5
From andreasfertig.blog
0 0
The year has already started. If you're interested in working with me at one of my public classes, here is what you need to know. I wil...
on Feb 16
From andreasfertig.blog
constexpr functions: optimization vs guarantee
0 0
The feature of constant evaluation is nothing new in 2023. You have constexpr available since C++11. Yet, in many of my classes, I see...
on Feb 9
From andreasfertig.blog
0 0
Sometimes the small changes between two C++ standards really bite you. Today's post is about when I got bitten by a change to aggregate...
on Feb 6
From andreasfertig.blog
Updates to YouTube and training material in 2024
0 0
Today, I'll give you updates about C++ Insights on YouTube and other improvements. It actually started back in 2023. Training class and...
on Jan 30
From andreasfertig.blog
0 0
In 2020 I wrote an article for the German magazine iX called Scoped enums in C++. In that article, I shared an approach of using class...
on Jan 2
From andreasfertig.blog
When an empty destructor is required
0 0
In last month's post Why you shouldn't provide an empty destructor, I taught you the difference between user-provided and user-declared...
on Dec 5
From andreasfertig.blog
0 0
In today's post, I discuss an often unknown feature, C++11's ref-qualifiers. My book, Programming with C++20, contains the following ex...
on Nov 10, 2023
From andreasfertig.blog
C++23 - std::expected, the superior way of returning a value or an error
0 0
In today's post, I like to jump in time and fast forward to what is coming with C++23, a new data type in the STL std::expected (P0323)...
on Oct 13, 2023
From andreasfertig.blog
Using C++23s constexpr unique_ptr
0 0
Back in 2022, my paper P2273R3: Making std::unique_ptr constexpr was accepted for C++23. All the time, I planned to provide an implemen...
on Oct 3, 2023
From andreasfertig.blog
C++ Insights now uses Clang 17
0 0
Today, I managed to switch C++ Insights to Clang 17! You can now use the first C++26 features Clang supports and try them out in C++ In...
on Oct 2, 2023