Явное определение включает или разрешает распространение
Привет,
Просто быстрый вопрос относительно наилучшей практики для этого. Допустим, у меня есть следующие файлы:
А. Ч.
Б. Ч.
С. ч.
И следующий код:
А. Ч.:
class A { }
Б. Ч.:
#include "A.h" class B { private: A a; }
С. ч.:
#include "A.h" // ? #include "B.h" class C { private: A a; B b; }
Поскольку C включает в себя B и B включает в себя A, это означает, что C может получить доступ к A. Однако, поскольку вам нужно быть осторожным с заголовками C++ из-за потенциально огромного влияния на время компиляции, было бы лучше явно сказать, что C включает в себя A, или позволить ему распространять это через B?
Хотя больше заголовков означает больше беспорядка, я бы предпочел явно определить его, если он будет действовать как ярлык для улучшения времени компиляции.
Что я уже пробовал:
Ничего, просто спрашиваю совета.