Расширение файла .hpp обычно используется для заголовочных файлов C++, которые являются неотъемлемыми компонентами проектов программирования на языке C++. Заголовочные файлы, как правило, содержат объявления функций, классов, переменных и констант, предназначенных для совместного использования в нескольких исходных (.cpp) файлах. Обычно они не содержат фактической реализации (определений) этих элементов, хотя встроенные (inline) функции и определения шаблонов часто размещаются целиком внутри заголовочных файлов. Основная цель использования заголовочных файлов заключается в том, чтобы позволить компилятору узнать структуру и интерфейс кода до того, как он столкнется с фактической реализацией на этапе компоновки. Такое разделение объявления и определения способствует модульному программированию, сокращает время компиляции для крупных проектов и предотвращает ошибки переопределения. Хотя стандартная конвенция часто использует расширение .h для C-стилевых заголовков или общих заголовков C++, расширение .hpp часто принимается разработчиками и некоторыми системами сборки специально для обозначения заголовочных файлов, предназначенных только для C++, иногда чтобы избежать потенциальных конфликтов или двусмысленности при смешивании кодовых баз C и C++. Это обычные текстовые файлы, читаемые любым текстовым редактором, но они специально разработаны для обработки препроцессором и компилятором C++.