В связи с реализацией класса шаблона в заголовочном файле я должен включить другие включения, используемые при реализации класса, в заголовочный файл.
В связи с этим каждый раз, когда я включаю свой шаблонный класс, который включает все остальные включения и т. Д.
Это может привести к эффективному распространению включения или даже к ненужному контексту.
Так, как лучше всего решить эту проблему?
Редактировать: Поскольку я не упомянул об этом явно, Я не говорю о случаях, когда прямое объявление могло бы решить это, как при обычном разделении .h / .cpp , но когда вы должны включить заголовок, а поскольку у вас нет cpp, вы вынуждены использовать его в .h
Редактировать 2 : Допустим, мой шаблонный класс имеет функцию с зависимостью от библиотеки третьего класса. Каждый класс, использующий мой шаблонный класс, теперь имеет одинаковую зависимость или может получить доступ к тому заголовку, который я не мог хотеть. Существует ли способ избежать этого?