An Introduction to C++20’s Concepts

Hendrik Niemeyer

60 minute presentation
intermediate
beginner

One of the biggest new features of C++20 are concepts. Concepts define requirements on template arguments which are enforced by the compiler. This leads to more readable code which clearly expresses intent. Error messages are improved since violations of the constraints defined by concepts can be detected in the early stages of the template instantiation.

This talked is aimed at people with little or no experience with concepts and will introduce generic programming with concepts (constraining templates, writing your own concepts and overloading functions which are constrained by concepts).

templates
concepts
C++20

Hendrik Niemeyer

Hendrik is a Technical Lead for Data Sciece and works on machine learning and big data solutions in Python but is also interested in C++ and Rust. He described himself as a "learning enthusiast" who always gets absorbed in learning new things.