Место пространств имен, включает в себя несколько проектов в одном решении и модули в cpp

#c #module #package

Вопрос:

Все отмеченное выше можно использовать для разделения кода на части, а затем их интеграции для совместной работы. Но как я должен использовать их все вместе?

Насколько я знаю, «лучшая практика» — использовать пространства имен вместе с модулями, потому что они предназначены для двух разных вещей. Использование нескольких проектов в одном решении может помочь сократить время компиляции, но теперь с модулями это больше не проблема. Так что теперь единственная причина использовать их-это если… Я вижу отдельные проекты как отдельные библиотеки? И когда я использую модули — когда я все еще должен использовать #include для файла заголовков? Чтобы включить заголовок из того же модуля?

Я попытался погуглить его, но не смог найти ничего, что завершало бы все это, чтобы помочь мне решить, когда что использовать.

Комментарии:

1. Модули достаточно новы, и я не думаю, что вокруг них существует много литературы типа «лучшие практики».

2. @NathanPierson они достаточно новы, и все, чего я хочу, — это просто найти рабочий пример, желательно, который интегрируется с cmake… К сожалению, он менее чем частично реализован в большинстве компиляторов, и cmake пока не поддерживает их (система сборки файлов Makefile), насколько я могу судить. Наверное, сейчас лучше вообще о них не думать.