Die Dateierweiterung .hpp wird häufig für C++-Headerdateien verwendet, die wesentliche Komponenten in C++-Programmierprojekten darstellen. Headerdateien enthalten typischerweise Deklarationen von Funktionen, Klassen, Variablen und Konstanten, die über mehrere Quelldateien (.cpp) hinweg geteilt werden sollen. Sie enthalten normalerweise nicht die eigentliche Implementierung (Definitionen) dieser Elemente, obwohl Inline-Funktionen und Template-Definitionen oft vollständig in Headerdateien platziert werden. Der Hauptzweck der Verwendung von Headerdateien besteht darin, dem Compiler die Struktur und Schnittstelle des Codes bekannt zu machen, bevor er während der Linkphase auf die eigentliche Implementierung trifft. Diese Trennung von Deklaration und Definition fördert die modulare Programmierung, reduziert die Kompilierungszeiten für große Projekte und verhindert Neudefinitionsfehler. Während die Standardkonvention oft die Erweiterung .h für C-ähnliche Header oder generische C++-Header verwendet, wird die Erweiterung .hpp häufig von Entwicklern und einigen Build-Systemen übernommen, um explizit eine reine C++-Headerdatei zu kennzeichnen, manchmal um potenzielle Konflikte oder Mehrdeutigkeiten beim Mischen von C- und C++-Codebasen zu vermeiden. Es handelt sich um reine Textdateien, die mit jedem Texteditor gelesen werden können, aber speziell dafür konzipiert sind, vom C++-Präprozessor und Compiler verarbeitet zu werden.