![Learn C++ With Back to Basics Algebraic Data Types by Arthur ODwyer CPPCon 2020 Video | Learn C++](https://i0.wp.com/learncplusplus.org/wp-content/uploads/2020/12/learn-c-with-back-to-basics-algebraic-data-types-by-arthur-o-8217-dwyer-cppcon-2020-video-OJzmWqCCZaM.jpg?resize=1140%2C694&ssl=1)
![Learn C++ With Back to Basics Algebraic Data Types by Arthur ODwyer CPPCon 2020 Video | Learn C++](https://i0.wp.com/learncplusplus.org/wp-content/uploads/2020/12/learn-c-with-back-to-basics-algebraic-data-types-by-arthur-o-8217-dwyer-cppcon-2020-video-OJzmWqCCZaM.jpg?resize=1140%2C694&ssl=1)
In this session, the video will clarify the math behind the name and discuss the meaning and use of all algebraic data types in C++17: pair, tuple, optional, and variant. The video will also demonstrate how to use std::optional for delayed initialization and how to substitute dynamic polymorphism with visitation over std::variant. Audience will leave the session with a newfound respect for the algebraic data types of C++.