В контексте языков программирования C или C ++ библиотека называется только для заголовков, если полные определения всех макросов, функций и классов, составляющих библиотеку, видны компилятору в заголовочный файл форма. Библиотеки только для заголовков не должны быть отдельно скомпилированы, упакованы и установлены для использования. Все, что требуется, - это указать компилятору на расположение заголовков, а затем #include файлы заголовков в источник приложения. Еще одно преимущество состоит в том, что оптимизатор компилятора может выполнять гораздо лучшую работу, когда доступен весь исходный код библиотеки.
К недостаткам относятся:
Тем не менее, форма только для заголовков популярна, потому что позволяет избежать (часто гораздо более серьезной) проблемы упаковки.
Для шаблонов C ++ включение определений в заголовок - единственный способ компиляции, поскольку компилятору необходимо знать полное определение шаблонов для создания экземпляров.