description Rainer Grimm will give us his introduction to C++20 Concepts.
Contents:
The key idea of generic programming with templates is it to define functions and classes which can be used with various types. Often it happens that you instantiate a template with the wrong type. The result is typically a few pages of cryptic error messages. This sad story ends with concepts. Concepts empower you to write requirements for your templates which can be checked by the compiler. Concepts revolutionize the way we think about and write generic code. Here is why:
* Requirements for templates are part of the interface.
* The overloading of functions or specialization of class templates can be based on concepts.
* We get improved error messages because the compiler compares the requirements of the template parameter with the actual template arguments.
However, this is not the end of the story:
* You can use predefined concepts or define your own.
* The usage of auto and concepts is unified. Instead of auto, you can use a concept.
* If a function declaration uses a concept, it automatically becomes a function template. Writing function templates is, therefore, as easy as writing a function.
Speaker:
Rainer works as a software architect, team lead, and instructor since 1999. In 2002, he created a further education round at his company. He gives seminars since 2002. Rainer's first seminars were about proprietary management software, but seminars for Python and C++ followed immediately. In his spare time, Rainer likes to write articles about C++, Python, and Haskell. He also likes to speak at conferences. Rainer publishes weekly on his English Modernes Cpp and the German blog, hosted by Heise Developer.
Since 2016 he is an independent instructor giving seminars about modern C++ and Python. Rainer published several books in various languages to modern C++ and concurrency, in particular. Due to his profession, Rainer always searches for the best way to teach modern C++.