Это довольно простой вопрос, но он беспокоил меня некоторое время.
В моем проекте есть куча файлов .cpp (реализация) и .hpp (определение).
Я обнаружил, что, добавляя дополнительные классы и больше взаимозависимостей классов, я должен #include другие заголовочные файлы. Через неделю или две я получаю директивы #include во многих местах. Позже я попытаюсь удалить некоторые из #includes и обнаружу, что все по-прежнему работает, потому что какой-то ДРУГОЙ включенный класс также #включает то, что я только что удалил.
Есть ли простое и легкое правило для добавления #includes, которое в первую очередь предотвратит возникновение этой ужасной неразберихи? Как лучше всего?
Например, я работал над проектами, в которых файл реализации .cpp включает ТОЛЬКО соответствующий файл определения .hpp и ничего больше. Если есть какие-либо другие файлы .hpp, которые должны использоваться реализацией .cpp, на все они ссылается файл определения .hpp.