Почитав описание модулей, я увидел, что они очень хорошо помогают ускорить компиляцию.
Из этого
ответа я понял, что они вполне хорошая альтернатива заголовкам. Однако в
статье указывается минус - невозможно компилировать на нескольких сетевых машинах:
Это может оказаться сложной проблемой для систем сборки, которые используют несколько сетевых машин для компиляции одного проекта.
Кроме этого я читал (уже не нахожу где именно), что крупные модули могут наоборот, замедлить компиляцию (помню на примере
import boost;
)
Поэтому возникают следующие вопросы:
- Как определять баланс между модулями и заголовками?
- Почему заголовок с
#pragma once
не сопоставим с модулем в плане "вставки кода" (кроме препроцессора и т.д.)?