Getting Started

Discover the motivation behind the development of this course and what you’ll learn.


This course assumes that you have a thorough knowledge of C++ and its various features such as functions, object-oriented programming, templates, and so on.

Who should take this course?

This course is primarily for developers already familiar with the C++ programming language who want to learn how to use the “concepts” feature introduced in C++20. If you’re new to C++20 or just want to get a sense of what’s going on with the new features of C++20, this course can be helpful for you. If you’re familiar with the overall picture of C++20 and want to move on to concepts, then this course is definitely for you! Even if you already have a basic overview of C++ concepts, it is recommended that you study the course thoroughly from beginning to end.

About the course

The purpose of this course is to teach you about the basics of concepts in C++20. More specifically, we’ll learn about:

We will learn about:

  • The motivations behind concepts.
  • The four ways to use concepts with functions.
  • The different ways to use concepts with classes.
  • The concepts shipped with the standard library.
  • How to write our concepts from scratch.
  • Real-life examples of the usage of concepts.

Let’s get started!