Доклад

Модули: Изменения в core language

  • На русском языке

Модули — крупнейшая фича C++. На ней завязаны изменения в build tools, package managers, надежды на оптимизацию времени компиляции, вопросы того, как лучше организовывать код (module per translation unit vs module per library).

За всеми этими важнейшими высокоуровневыми вещами теряются технические подробности, понимание того, какое влияние оказывают модули на core language. А оно есть, и не маленькое, ведь если раньше компилятор работал с единицами трансляции по одной, то с появлением модулей правила игры поменялись.

В рамках доклада мы ответим на следующие вопросы:

  • что такое reachable entity и чем это отличается от visible;
  • как модули влияют на ADL;
  • могут ли entities с internal linkage протечь в другой модуль;
  • может ли импортировать класс одновременно как complete, и как incomplete;
  • что будет с inline-функциями в модульном мире.

От слушателей ожидается общее знакомство с принципами работы модулей, и понимание зачем модули вообще нужны.

Комментарий программного комитета:

Модули — самая долгожданная и обсуждаемая (как коммитетом по стандартизации, так и сообществом) возможность нового стандарта. Но если спросить двух разработчиков на C++, что же такое модуль из C++20, скорее всего, получим два совершенно разных ответа. В своем докладе Андрей углубится в детали устройства модуля и рассмотрит интересные практические случаи, связанные с достижимостью определений в модулях, шаблонами, и пр.

  • #c++20
  • #modules

Спикеры

Доклады