Why C++ Concepts?

Let’s learn why concepts are important.

Perhaps you’re wondering if you really need background information about concepts and not just the details on what they are and how you can use them. No need to worry yet! We’ll shortly answer any questions you might have. We’ll also see why this is not exactly an introduction to C++20 and why we’re learning about concepts in particular!

Why not C++ 20 in general?

There are books that aim to replace and complement C++ Reference, other complete online documentation of C++, and the standard library. Some of them are great, but regardless of their quality, they all share some common characteristics: They’re not enjoyable to read and contain a lot of redundant information.

We won’t find an enumeration of all the standard C++ features in this course. Instead, we’ll learn in detail about a few and get references for the rest.

Why C++ concepts?

If we don’t need that nudge because we already use templates with ease, even better. We will still learn about a brand new feature of C++20, concepts. I didn’t want to write a full book on C++20 because there is already some great course on this topic such as The All-in-One Guide to C++20 by Rainer Grimm. Also because I wouldn’t have had enough time and space to focus on the Concepts feature on which I’m going to provide us with all that we need to have an efficient start with concepts.