Михаил Матросов — Спецификаторы, квалификаторы и шаблоны

Ближайшая конференция: С Russia 2023, 11–12 мая (Online), 23–24 мая (Offline) Подробности и билеты: — — Уже в С 98 у нас были const, volatile, static, extern, inline и, конечно, шаблоны. В С 11 добавились thread_local, constexpr, а также extern для шаблонов. В С 14 добавились шаблоны переменных. В С 17 — inline переменные. В С 20 обещают подвезти consteval и constinit. А вы когда-нибудь задумывались, что такое template static inline thread_local constexpr const volatile переменная? В этом докладе Михаил попытается разложить по полочкам всё это многообразие ключевых слов. Вспомним про linkage, storage duration и инстанциации шаблонов (и что изменится с приходом модулей в С 20). Разберёмся, какая связь между template и inline, между static и constexpr. Поймём, зачем нам extern, когда у нас есть inline. И осознаем, как нам потребовалось почти 20 лет, чтобы научиться нормально объявлять константы. Доклад рассчитан на базовое знание языка.
Back to Top