Я видел много объяснений когда нужно использовать форвардные объявления, включая заголовочные файлы, но мало кто из них объясняет, почему это важно. Некоторые из причин, которые я видел, включают следующее:
- скорость компиляции
- сокращение сложности управления файлами заголовков
- удаление циклических зависимостей
Исходя из фона .net, я считаю, что управление заголовками расстраивает. У меня такое чувство, что мне нужно овладеть декларациями вперед, но до сих пор я общался.
Почему компилятор не работает для меня и не определяет мои зависимости, используя один механизм (включая)?
Как форвардные объявления ускоряют компиляции, так как в какой-то момент нужно будет скомпилировать объект, на который ссылается?
Я могу купить аргумент по уменьшенной сложности, но что будет практическим примером этого?