Die Dateiendung .hh ist ein Standard-Header-Dateiformat, das primär in der C- und C++-Programmierung verwendet wird. Sie dient als Container für Deklarationen, einschließlich Funktionsprototypen, Klassendefinitionen, Konstanten und Makrodefinitionen, die für die Verwendung in mehreren Quellcodedateien vorgesehen sind. Durch das Platzieren dieser Deklarationen in einer .hh-Datei können Entwickler die Datei mittels der Präprozessor-Direktive #include in verschiedene .cpp- oder .c-Quelldateien einbinden, was die Modularität, Wiederverwendbarkeit und Wartbarkeit des Codes fördert. Während die .h-Endung häufiger für C- und C++-Header verwendet wird, nutzen viele Entwickler die .hh-Endung gezielt, um explizit zu kennzeichnen, dass die Header-Datei C++-spezifischen Code enthält, wie etwa Klassenvorlagen (Templates) oder Inline-Funktionen. Diese Unterscheidung hilft bei der Organisation umfangreicher Projekte, in denen C- und C++-Codebasen koexistieren, und ermöglicht es Build-Systemen sowie Entwicklern, den Sprachkontext der Header-Datei schnell zu identifizieren. Es handelt sich um eine reine Textdatei, die vom Präprozessor des Compilers verarbeitet wird, bevor die eigentliche Kompilierung des Quellcodes stattfindet.