Motivation Behind C++ Concepts

Get an overview of the motivation behind concepts.

We'll cover the following

With concepts, generic programming becomes easier, safer, and more readable.

C++ templates accept any type and the real requirements are hidden in the middle of the function and class templates. In case of a problem, they will overwhelm us with lengthy, often difficult-to-read error messages.

C++ concepts reveal the requirements at the very top of the templates. They perform compile-time checks considering the required constraints and provide much more readable error messages in case of any error.

Concepts make template programming accessible to everyone.

A Simple add() function

So far we’ve briefly seen from a very high level what we can express with concepts. But why do we need them in the first place?

For example, let’s say that we want to write a function that adds two numbers. We want to accept both integer and floating-point numbers. What can we do?

We could accept double, maybe even long double, and return a value of the same type.

Get hands-on with 1400+ tech skills courses.