Hey everyone

Let’s keep the pace. This time we will have just one talk, so more time for discussion. We kindly you to register with your first and last name.


  • 18:00 - 18:30 Welcome snacks and socialising
  • 18:30 - 19:20 Specifiers, qualifiers and how they interact - Mikhail Matrosov

In C++98, we already had const, volatile, static, extern and inline. In C++11, thread_local and constexpr were added. In C++17, inline variables were introduced. In C++20, we’ve got consteval and constinit. But have you ever wondered what a static inline thread_local constexpr const volatile variable is?

In this talk, Mikhail will attempt to break down all this variety of keywords. We’ll recall linkage and storage duration. We’ll understand the connection between static and constexpr, between extern and inline. And we’ll realize why it took us almost 20 years to learn how to properly declare constants.

About the Speaker

Mikhail Matrosov

Currently developing a high-frequency trading system at Pinely. Developed a specialized 3D CAD system for the design of orthodontic aligners at Align Technology. Worked on image processing, computer vision, and color theory in the laboratory of computer graphics and multimedia at the Moscow State University Graduate School of Computer Graphics. A frequent speaker at conferences: CppCon, C++ Russia, SECR, CoreHard, SECON. Co-author of the popular courses: “Fundamentals of C++ development: brown belt” and “Fundamentals of C++ development: black belt” made in collaboration with Yandex. Taught at Faculty of Computer Science at Higher School of Economics.