By Jonathan Boccara :
On Design Patterns in C++ - Fluent C++ |
The classic GoF book shows code for design patterns in C++. But there are many more techniques in C++ that you can use to implement design patterns.
A Classic Compilation Error with Dependent Types - Fluent C++ |
Here is a typical compilation error that occurs with dependent template types, and how to fix it.
Auto for Types, but Not for Concepts - Fluent C++ |
The C++ core guidelines exort to use auto fo types, but to avoid them for concepts. We explore Herb Sutter explanations about why such a difference.
A Map with Two Types of Keys in C++ - Fluent C++ |
Read how to implement a map that you can query with 2 types of keys, and suggest other implementations if you think of any.
How Lambdas Make Function Extraction Safer - Fluent C++ |
Here is how lambdas can help you extract code from a long C++ function in a simple and safe way.
How to Make a Copyable Object Assignable in C++ - Fluent C++ |
When a class contains a reference or a lambda, implementing operator= is difficult. Here is how to make the compiler generate operator= in those cases.
How to Write Expressive Class Definitions - Fluent C++ |
Here is the order in which you should put the elements of your class, to make its interface more readable.
An Attempt to Write Fallbacks With Expressive Code - Fluent C++ |
Here is an attempt to write expressive code implementing a fallback: assigning the first valid value out of several possibilities.
Replacing CRTP Static Polymorphism With Concepts - Fluent C++ |
THe CRTP is a powerful C++ idiom. Here is how concepts make it evolve in C++20.
Algorithms on Sets That Return a Boolean: Implementing the Generic Algorithm - Fluent C++ |
Here is a generic algorithm to implmenet algorithms on sets that return a boolean.
Use Private Inheritance to Restrict Interfaces - Fluent C++ |
To block the access of certain methods to a class, private inhertance is a practical option. Here is how to use it and the gotchas to avoid.
The differences between tie, make_tuple, forward_as_tuple: How to Build a Tuple in C++? - Fluent C++ |
C++ offers 3 helpers to build a tuple: std::tie, std::make_tuple and std::forward_as_tuple. Understand when to use them and avoid undefined behaviour.
Make Your September Matter - Fluent C++ |
September is when you can make a plan for this year. Choose the right option and make your programming year a success.
What std::exchange does, and how to remember it - Fluent C++ |
std::exchange is a helper functions in the standard library. Here is what it does, and how to remember it once and for all.
Algorithms on Sets That Return a Boolean: Strong Templates Interface - Fluent C++ |
In this post we make the interface of a generic algorithm on sets more robust by using strong templates, and we use it to implement 8 algorithms on sets.
How to Implement operator= When a Data Member Is a Lambda - Fluent C++ |
If your class can contain a lamba, then the compiler is not able to implement operator=. Here is how to solve that problem.
std::exchange Patterns: Fast, Safe, Expressive, and Probably Underused - Fluent C++ |
std::exchange is a underused function of the C++ standard library. Here is how it can make your code expressive.

Featured Contributors

Install the Toplog Bookmarklet to submit page with a single click. To Install, Just Drag or Right Click the below Link to bookmark it:
Post to Toplog Bookmarklet