The Self-Growing Builder--Marco Arena
Some sugar added to a classical pattern:
The Self-Growing Builder
by Marco Arena
From the article:
we had a quick digression on “C++ named parameters”...
March 19-21, Madrid, Spain
April 1-4, Bristol, UK
June 16-21, Sofia, Bulgaria
By Marco Arena | Oct 25, 2021 03:05 AM | Tags: intermediate
Some sugar added to a classical pattern:
The Self-Growing Builder
by Marco Arena
From the article:
we had a quick digression on “C++ named parameters”...
By Meeting C++ | Oct 23, 2021 07:28 AM | Tags: meetingcpp intermediate experimental coroutines community c++20 basics advanced
Last Thursday Meeting C++ online hosted a 2 hour long live coding session about using C++20 coroutines for asynchronous parsers
Meeting C++ online - Andreas Reischuck - Using C++20 coroutines for asynchronous parsers
by Andreas Reischuck
By Adrien Hamelin | Oct 21, 2021 11:58 AM | Tags: intermediate
Do you know about them?
Design Patterns VS Design Principles: Observer, State and Strategy
by Jonathan Boccara
From the article:
In this series of articles on design patterns and design principles, we analyse how the 23 GoF design patterns relate to the 9 GRASP design principles.
In a previous article, we classified the GRASP patterns like this (excluding “Managing complexity”).
The study we perform in this series is helpful to understand better both the GoF and the GRASP, with the goal of taking better decisions when it comes to organizing our code.
The GoF design patterns come from the seminal Design Patterns book. The GRASP design principles are explained in Craig Larman’s Applying UML and Patterns.
In this episode of the series, we examine the Observer, State and Strategy design patterns...
By Adrien Hamelin | Oct 20, 2021 11:31 AM | Tags: intermediate
Do you have that problem?
6 Ways to Refactor new/delete into unique ptr
by Bartlomiej Filipek
From the article:
In legacy code, you can often spot explicit new and delete lurking in various places and waiting to produce pointer-related issues. This blog post shows six patterns to improve that erroneous style and rely on modern techniques, especially unique_ptr and other helper standard types...
By Adrien Hamelin | Oct 15, 2021 01:54 PM | Tags: intermediate
Simple and surprising.
A simple and clear example of undefined behavior
by Jens Weller
From the article:
If you work with C++ you'll sooner or later will have to deal with undefined behavior. I stumbled upon an easy example to help folks understand the scope of undefined behavoir...
By Adrien Hamelin | Oct 11, 2021 12:50 PM | Tags: intermediate
The series continue.
Dependent Names
by Rainer Grimm
From the articles:
A dependent name is essentially a name that depends on a template parameter. A dependent name can be a type, a non-type, or a template parameter. To express that a dependent name stands for a type or a template, you have to use the keywords typename or template...
By Adrien Hamelin | Sep 15, 2021 12:58 PM | Tags: intermediate
What do you think?
Design Patterns VS Design Principles: Iterator, Mediator and Memento
by Jonathan Boccara
From the article:
In our objective to understand how the GoF design patterns relate to the GRASP design principles, we’re going to analyse 3 more Behavioural patterns today: Iterator, Mediator and Memento...
By Adrien Hamelin | Aug 18, 2021 01:19 PM | Tags: intermediate
The series contine.
More about Variadic Templates ...
by Rainer Grimm
From the article:
There is a lot of power in the strange-looking three dots that are heavily used in the Standard Template Library. Today, I visualize the expansion of the three dots and show a few use cases...
By Adrien Hamelin | Aug 18, 2021 01:17 PM | Tags: intermediate c++17
Do you know the rules?
Stricter Expression Evaluation Order in C++17
by Bartlomiej Filipek
From the article:
C++ has many dark corners and many caveats that can cause you to scratch your head in confusion. One of the issues we had until C++17 was the evaluation order of expressions. In this blog post, I’ll show you the new rules that we got in C++17 that made this complicated term much simpler and practical.
Here are the main points for today:
- What’s the case with make_unique vs unique_ptr<T>(new T) in a function call.
- What are the new rules for C++17?
- Are all bugs fixed and now well defined?
Let’s go.
By Adrien Hamelin | Jul 16, 2021 12:51 PM | Tags: intermediate
The series continue.
Full Specialization of Function Templates
by Rainer Grimm
From the article:
As you may know from my previous post Template Specialization, function template can only be full but not partial specialized. To make my long story short: Don't specialize function templates. Just use function overloading...