Documentation

    Table of Content
    • 3D File Formats
      • 3D File Formats
      • 3D2
      • 3DM
      • 3DS
      • 3MF
      • AMF
      • ASE
      • B3D
      • DAE
      • DBM
      • DRC
      • E57
      • FBX
      • GLB
      • GLTF
      • IPT
      • JT
      • MA
      • MB
      • MP
      • OBJ
      • PLY
      • POV
      • PRC
      • RVM
      • STEP
      • STP
      • U3D
      • USD
      • USDZ
      • VRML
      • X
      • X3D
    • Audio File Formats
      • Audio File Formats
      • 8SVX
      • AA
      • AAC
      • AAX
      • AC3
      • ACT
      • AIFF
      • ALAC
      • AMR
      • APE
      • CDA
      • DSS
      • EC3
      • EFS
      • FLAC
      • FLP
      • GSM
      • M3U
      • M3U8
      • M4A
      • M4B
      • M4P
      • M4R
      • MID
      • MKA
      • MMF
      • MOD
      • MP2
      • MP3
      • MPC
      • MTM
      • MUI
      • MXL
      • NSA
      • OGG
      • OPUS
      • RA
      • RF64
      • RIP
      • SDT
      • SF2
      • STAP
      • VOC
      • VOX
      • VQF
      • WAV
      • WEBA
      • WFP
      • WMA
      • WPL
      • WPROJ
      • WV
    • CAD File Formats
      • CAD File Formats
      • AFS
      • ART
      • ASC
      • ASM
      • AXM
      • BDC
      • CATPART
      • CF2
      • CIR
      • CPA
      • DC3
      • DGN
      • DST
      • DWF
      • DWFX
      • DWG
      • DWT
      • DXF
      • FZP
      • HPGL
      • IBA
      • IFC
      • IGES
      • IGS
      • JVSG
      • NC
      • NWC
      • NWD
      • NWF
      • OPT
      • PAT
      • PHJ
      • PLT
      • PSM
      • PSS
      • RFA
      • RFT
      • RML
      • RVT
      • SLDPRT
      • STL
    • Compression File Formats
      • Compression File Formats
      • 7Z
      • ACE
      • ALZ
      • APK
      • APZ
      • ARC
      • ARJ
      • B1
      • B6Z
      • BKF
      • BNDL
      • BZ2
      • CIT
      • DAA
      • DAR
      • DEB
      • DMG
      • DZ
      • ECS
      • FZPZ
      • GZ
      • GZIP
      • ICE
      • ISO
      • KGB
      • LBR
      • LQR
      • LZ
      • LZ4
      • LZH
      • LZMA
      • LZO
      • LZX
      • MBW
      • MINT
      • MPKG
      • MPQ
      • NPK
      • OAR
      • P7Z
      • PAGES
      • PEA
      • PET
      • PF
      • PKG
      • PTK
      • PUP
      • RAR
      • RPM
      • RTE
      • S00
      • SFG
      • SIFZ
      • SIT
      • SITX
      • SY_
      • TAR
      • TBZ
      • TGS
      • TGZ
      • TPSR
      • TZ
      • VPK
      • WHL
      • WUX
      • XAPK
      • XAR
      • XPI
      • XZ
      • Z
      • ZIM
      • ZIP
      • ZIPX
      • ZL
      • ZST
    • Database
      • Database File Formats
      • 4DB
      • 4DD
      • ABCDDB
      • ACCDB
      • ACCDC
      • ACCDE
      • ACCDR
      • ACCDT
      • ACCDW
      • ACCFT
      • ADB
      • ADE
      • ADF
      • ADN
      • ADP
      • ALF
      • ANB
      • AQ
      • ASK
      • BAK
      • BCP
      • BTR
      • CAT
      • CDB
      • CRYPT12
      • CRYPT14
      • DACPAC
      • DAT
      • DB
      • DB-WAL
      • DB3
      • DBC
      • DBF
      • DBS
      • DDL
      • DLIS
      • DSN
      • DTSX
      • EPIM
      • FDB
      • FIC
      • FMP12
      • FMPSL
      • FP5
      • FP7
      • GDB
      • ITW
      • LDF
      • LOG
      • MDB
      • MDF
      • MYI
      • NDF
      • NSF
      • SAV
      • SDF
      • SQL
      • SQLITE
      • TE
      • TRC
      • TRM
      • UDL
      • WDB
    • Disc and Media
      • Disc and Media File Formats
      • BIN
      • CCD
      • CSO
      • CUE
      • ECM
      • GADGET
      • IMG
      • ISZ
      • MDF
      • MDS
      • NKIT
      • NRG
      • NRI
      • OVA
      • OVF
      • ROM
      • SDI
      • TIB
      • Toast
      • UDF
      • VCD
      • VDI
      • VHD
      • VHDX
      • WBFS
      • WIM
      • WUD
    • EBook File Formats
      • EBook File Formats
      • ACSM
      • AEP
      • APNX
      • AVA
      • AZW
      • AZW1
      • AZW3
      • AZW4
      • BKK
      • BPNUEB
      • CBC
      • CBR
      • CBZ
      • CEB
      • CEBX
      • DNL
      • EA
      • EAL
      • EBK
      • EDN
      • EPUB
      • ETD
      • FB2
      • FKB
      • HAN
      • HTML0
      • HTMLZ
      • HTXT
      • HTZ4
      • HTZ5
      • IBOOKS
      • JWPUB
      • KFX
      • KOOB
      • LIT
      • LRF
      • LRS
      • LRX
      • MART
      • MBP
      • MOBI
      • NCX
      • NVA
      • OEB
      • OEBZIP
      • OPF
      • ORB
      • PHL
      • PML
      • PMLZ
      • POBI
      • PRC
      • QMK
      • RB
      • RZB
      • RZS
      • SNB
      • TCR
      • TK3
      • TPZ
      • TR
      • TR3
      • VBK
      • WEBZ
      • YBK
    • Email File Formats
      • Email File Formats
      • EDB
      • EML
      • EMLX
      • ICS
      • MBOX
      • MSG
      • OFT
      • OLM
      • OST
      • P7S
      • PST
      • RPMSG
      • TNEF
      • VCF
    • Executable
      • Executable File Formats
      • 8CK
      • AC
      • AHK
      • AIR
      • APP
      • BAT
      • BTAPP
      • CGI
      • CMD
      • COM
      • ELF
      • EXE
      • IPA
      • MSI
      • MST
      • PIF
      • PYC
      • REG
      • RUN
      • WSF
      • WSH
      • XAP
      • XBE
      • XEX
    • Finance
      • Finance File Formats
      • ABA
      • IXBRL
      • XBRL
    • Font
      • Font File Formats
      • BDF
      • CFF
      • CFF2
      • EOT
      • ETX
      • FNT
      • FON
      • FOT
      • GXF
      • JFPROJ
      • MFX
      • ODTTF
      • OTF
      • PFA
      • PFB
      • PFM
      • SFD
      • TTC
      • TTF
      • Type1
      • VFB
      • VLW
      • WOFF
      • WOFF2
    • Game File Formats
      • Game File Formats
      • BIN
      • BMZ
      • BNS
      • BO2
      • CLIP
      • CON
      • CSD
      • CT
      • DEK
      • FOMOD
      • GAM
      • GBX
      • GCF
      • KODU
      • LANG
      • LITEMOD
      • MCA
      • MCR
      • MCWORLD
      • MGX
      • MII
      • NPA
      • OSB
      • OSK
      • OSR
      • OSU
      • OSZ
      • PAK
      • PCC
      • PSS
      • PUP
      • PWF
      • REL
      • REP
      • RPX
      • SAV
      • SFAR
      • SID
      • SIMS3PACK
      • U8
      • UMX
      • Unity3D
      • USX
      • VPK
      • W3N
      • XS
    • GIS File Formats
      • GIS File Formats
      • 000
      • 3D
      • 3DC
      • 3DD
      • 3DL
      • ADF
      • APL
      • APR
      • ATX
      • AUX
      • AVL
      • AXE
      • BT
      • CSF
      • CXF
      • DEM
      • DIV
      • DIX
      • DLG
      • DT0
      • DT1
      • DT2
      • E00
      • EMBR
      • ETA
      • FileGDB
      • FIT
      • FMW
      • GeoJSON
      • GLB
      • GMAP
      • GML
      • GPKG
      • GPX
      • GSM
      • GST
      • HDR
      • IMG
      • KML
      • KMZ
      • LAN
      • LOC
      • MID
      • MIF
      • MPK
      • MPS
      • MSD
      • MXD
      • MXT
      • NM2
      • NMC
      • NTF
      • OSC
      • OSM
      • PMF
      • PTM
      • QGD
      • QGS
      • QGZ
      • QLR
      • QML
      • SAF
      • SBN
      • SDF
      • SHP
      • SHX
      • SP3
      • SSF
      • TCX
      • TFRD
      • WLX
      • WOR
    • Image File Formats
      • Image File Formats
      • AFPHOTO
      • AFX
      • AGIF
      • AGP
      • AI
      • APNG
      • ART
      • AVIF
      • BIF
      • BMP
      • BPG
      • CDR
      • CLIP
      • CMX
      • CPC
      • CR2
      • CR3
      • CSL
      • CT
      • CUR
      • DCM
      • DCR
      • DCX
      • DDS
      • DIB
      • DICOM
      • DJVU
      • DNG
      • ECW
      • EMF
      • EMZ
      • EXIF
      • FLIF
      • FODG
      • GBR
      • GIF
      • HDR
      • HEIC
      • HEIF
      • ICNS
      • ICO
      • J2C
      • J2K
      • JFIF
      • JP2
      • JPC
      • JPEG
      • JPF
      • JPM
      • JPX
      • JXL
      • JXR
      • MNG
      • MP
      • MPO
      • NEF
      • ODG
      • OTG
      • PCT
      • PCX
      • PICT
      • PNG
      • PPP
      • PSB
      • PSD
      • PSP
      • PSPIMAGE
      • SKP
      • SVGZ
      • TGA
      • THM
      • TIFF
      • WEBP
      • WMF
      • WMZ
      • XPM
      • XPR
    • Misc File Formats
      • Misc File Formats
      • AML
      • ART
      • BUP
      • CMS
      • CTG
      • DAP
      • ENL
      • ERR
      • GPG
      • H4
      • H5
      • ICA
      • KLQ
      • LOCK
      • LRC
      • MD5
      • MSO
      • OBB
      • ODF
      • OGG
      • PES
      • RIS
      • RML
      • SSP
      • THM
      • TORRENT
      • VIM
      • VIMRC
      • XMP
      • XSMX
    • Note Taking File Formats
      • Note Taking File Formats
      • ONE
      • ONETOC2
    • Page Description Language
      • Page Description Language
      • AVERY
      • CGM
      • EPS
      • INDD
      • INDT
      • OXPS
      • PCL
      • PS
      • SVG
      • SWF
      • TEX
      • XPS
      • XSLFO
    • PDF
      • PDF
      • FDF
      • PDF/A
      • PDF/E
      • PDF/UA
      • PDF/VT
      • PDF/X
      • XFDF
    • Presentation File Formats
      • Presentation File Formats
      • KEY
      • ODP
      • OTP
      • POT
      • POTM
      • POTX
      • PPS
      • PPSM
      • PPSX
      • PPT
      • PPTM
      • PPTX
    • Programming
      • Programming
      • 4th
      • ABC
      • ACD
      • ADDIN
      • ADS
      • AFPHOTO
      • AGI
      • AIA
      • AIDL
      • ALB
      • AML
      • ANE
      • APA
      • APKS
      • APPX
      • APPXBUNDLE
      • APPXUPLOAD
      • APS
      • ARSC
      • AS
      • AS2PROJ
      • AS3PROJ
      • ASC
      • ASI
      • ASM
      • ASVF
      • AU3
      • AWK
      • C
      • CD
      • Class
      • CMAKE
      • CONFIG
      • CPP
      • CS
      • CSPROJ
      • CXX
      • Dart
      • DIFF
      • EGG
      • ERB
      • EX
      • G4
      • GMD
      • GO
      • GROOVY
      • H
      • HAML
      • HH
      • HS
      • HTA
      • ICI
      • IN
      • INC
      • IPR
      • JAR
      • Java
      • JRXML
      • JSP
      • JSPF
      • KT
      • LGO
      • LUA
      • M
      • MAKE
      • MEL
      • MF
      • ML
      • MM
      • MRC
      • MSIX
      • NUPKG
      • NUT
      • NX
      • PAS
      • PDB
      • PDE
      • PHP
      • PL
      • PY
      • PYD
      • PYI
      • PYM
      • PYW
      • PYX
      • R
      • RBXL
      • RBXM
      • RES
      • RS
      • RST
      • SCALA
      • SCM
      • SCRIPT
      • SH
      • SLN
      • SWIFT
      • TCL
      • TOML
      • TS
      • UNITY
      • VB
      • VBPROJ
      • VBS
      • VCXPROJ
      • XSD
      • YAML
      • YML
      • YPR
    • Project Management File Formats
      • Project Management File Formats
      • MPP
      • MPT
      • MPX
      • P6XML
      • XER
    • Publisher File Formats
      • Publisher File Formats
      • PUB
      • PUZ
    • Reporting
      • Reporting File Formats
      • MAR
      • RDL
      • RDLC
      • RPL
      • RPT
    • Settings File Formats
      • Settings File Formats
      • CNF
      • CONF
      • GXT
      • ISS
      • OSS
      • OVPN
      • PMP
      • SBV
      • SET
      • SETTINGS
      • THEMEPACK
      • TPF
    • Spreadsheet File Formats
      • Spreadsheet File Formats
      • 123
      • 12M
      • _XLS
      • _XLSX
      • AST
      • AWS
      • BKS
      • CELL
      • CHIP
      • CSV
      • CTS
      • DEF
      • DEX
      • DFG
      • DIF
      • DIS
      • EFU
      • ESS
      • FCS
      • FM
      • FODS
      • FP
      • GNM
      • GNUMERIC
      • GSHEET
      • IMP
      • MAR
      • NB
      • NUMBERS
      • NUMBERS-TEF
      • ODS
      • OTS
      • PMD
      • PMDX
      • PMVX
      • PRESTO
      • QPW
      • SDC
      • STC
      • SXC
      • TMV
      • TMVT
      • TSV
      • WQ2
      • XAR
      • XL
      • XLA
      • XLAM
      • XLM
      • XLR
      • XLS
      • XLSB
      • XLSM
      • XLSMHTML
      • XLSX
      • XLT
      • XLTHTML
      • XLTM
      • XLTX
    • System File Formats
      • System File Formats
      • ADM
      • ADMX
      • AML
      • ANI
      • ASV
      • CAB
      • CFG
      • CPG
      • CPL
      • DESKTHEMEPACK
      • DLL
      • DMP
      • DRV
      • ETL
      • HDMP
      • HTT
      • ICNS
      • INI
      • INS
      • LNK
      • MANIFEST
      • MDMP
      • REG
      • REGTRANS-MS
      • RMT
      • SCR
      • SHSH
      • SHSH2
      • SYS
      • TMP
      • VGA
    • Video File Formats
      • Video File Formats
      • 3G2
      • 3GP
      • AEP
      • AMV
      • ARF
      • ASF
      • AVCHD
      • AVI
      • BIK
      • DAV
      • EXO
      • F4V
      • FLV
      • H264
      • H265
      • IDX
      • IFO
      • KINE
      • M2TS
      • M4S
      • M4V
      • MJPEG
      • MK3D
      • MKS
      • MKV
      • MOV
      • MP4
      • MPE
      • MPG
      • MPV
      • MSWMM
      • MTS
      • MXF
      • NSV
      • PIV
      • PRPROJ
      • PZ
      • QT
      • RM
      • RMVB
      • RV
      • SEC
      • SRT
      • STR
      • TS
      • VEG
      • VID
      • VOB
      • VP6
      • VP8
      • VP9
      • VTT
      • WEBM
      • WLMP
      • WMV
      • XVID
    • Visio File Formats
      • Visio File Formats
      • VDW
      • VDX
      • VSD
      • VSDM
      • VSDX
      • VSS
      • VSSM
      • VSSX
      • VST
      • VSTM
      • VSTX
      • VSX
      • VTX
    • Web File Formats
      • Web File Formats
      • A4P
      • A5W
      • AAE
      • ADR
      • AEX
      • ALX
      • AN
      • AP
      • APKG
      • APPCACHE
      • ARO
      • ASA
      • ASAX
      • ASCX
      • ASHX
      • ASMX
      • ASP
      • ASPX
      • ASR
      • ATOM
      • ATT
      • AWM
      • BML
      • BOK
      • BR
      • BWP
      • CDF
      • CER
      • CFM
      • CFML
      • CHA
      • CHAT
      • CHM
      • CMS
      • CODASITE
      • CON
      • CRDOWNLOAD
      • CRL
      • CRT
      • CSHTML
      • CSP
      • CSR
      • CSS
      • DAP
      • DBM
      • DCR
      • DER
      • DHTML
      • DISCO
      • DISCOMAP
      • DML
      • DO
      • DOCHTML
      • DOCMHTML
      • DOTHTML
      • DOWNLOAD
      • DRAWIO
      • DWT
      • ECE
      • EDGE
      • EPIBRW
      • ESPROJ
      • EWP
      • FCGI
      • FMP
      • FREEWAY
      • FWP
      • FWTEMPLATE
      • FWTEMPLATEB
      • GDOC
      • GDOCX
      • GNE
      • GSP
      • HAR
      • HDM
      • HDML
      • HTACCESS
      • HTC
      • HTM
      • HTML
      • HTX
      • HXS
      • HYPE
      • JHTML
      • JNLP
      • JS
      • JSON
      • JSPA
      • KEY
      • KIT
      • LESS
      • MASTER
      • MHT
      • MHTML
      • MJS
      • OAM
      • OBML
      • OBML15
      • OBML16
      • OPDOWNLOAD
      • P7B
      • P7C
      • PAC
      • PART
      • PEM
      • PRO
      • RHTML
      • RJS
      • RSS
      • Sass
      • SCSS
      • SEAM
      • SHTML
      • SITE
      • SPC
      • SSP
      • STC
      • STML
      • SVR
      • TPL
      • TS
      • URL
      • VDISCO
      • VDW
      • VRT
      • WBS
      • WEBBOOKMARK
      • WEBLOC
      • WEBSITE
      • WHTT
      • WSDL
      • XAML
      • XD
      • XHT
      • XHTM
      • XHTML
      • XML
      • XOJ
      • XOML
      • XPD
      • XSLT
      • XUL
      • ZUL
    • Word Processing File Formats
      • Word Processing File Formats
      • ASD
      • DOC
      • DOC to PDF
      • DOCM
      • DOCX
      • DOCX to HMTL
      • DOCX to JPEG
      • DOCX to MD
      • DOCX to PDF
      • DOCX to PPT
      • DOCX to PPTX
      • DOCX Viewer
      • DOT
      • DOTM
      • DOTX
      • DSC
      • FAQ
      • FODT
      • IPYNB
      • LATEX
      • LTX
      • MAN
      • MD
      • ODM
      • ODT
      • OTT
      • QBL
      • QPF
      • RTF
      • TXT
      • WPD
      • WPS
    1. Home
    2. Programming
    3. H

    What's on this Page

      • What is an H file?
      • .H File Format
        • Header Guards
      • H File Example
      • References

    What is an H file?

    A file saved with h file extension is a header file used in C/C++ files to include the declaration of variables, constants, and functions. These are referred by the C++ implementation files that contain the actual implementation of these functions. A .h header file can also include additional information such as Macro definitions. These header files are referenced in the C/C++ files using the #include directive.

    A new C++ project usually contains a special header file by the name stdafx.h file that is the starting point for all compilation chains and all the header files can be included in this single file. A .h file can be opened with any text editor, Eclipse IDE, Microsoft Visual Studio IDE, Borland C++ compiler and a lot other applications.

    .H File Format

    A .h file is plain text file that has its own rules for defining the syntax. Header files can contain the following information.

    Variables - In case of Object Oriented Programming (OOP), a class header file contains definitions of all class level variables that are accessible across the implementation source code files Methods Declaration - All the methods declarations are included in the .h header files to be accessible across multiple implementation files. Non-Inline Function Definitions - Header files can also contain definitions of a non-inline methods. Message Maps - A header file can also contain message maps in case of an MFC source code implementation. In such case, the message maps are linked to the functionality implementation which is linked to UI elements such as button, checkbox, radio buttons, etc.

    Header Guards

    Header files can raise to complex errors where multiple declarations are included in the same file as a result of adding other header files. This duplicate definitions raise compiler errors. This problematic situation can be avoided via a mechanism called header guard that are conditional compilation directives as shown below.

    #ifndef ANY_UNIQUE_NAME_HERE
    #define ANY_UNIQUE_NAME_HERE
    
    // your declarations (and certain types of definitions) here
    
    #endif
    

    With this header, the preprocessor checks whether the ANY_UNIQUE_NAME_HERE has already been defined. If the header is repeatedly included into the same file, the contents of the header will be ignored.

    H File Example

    // sample.h
    #pragma once
    #include <vector> // #include directive
    #include <string>
    
    namespace N  // namespace declaration
    {
        inline namespace P
        {
            //...
        }
    
        enum class colors : short { red, blue, purple, azure };
    
        const double PI = 3.14;  // const and constexpr definitions
        constexpr int MeaningOfLife{ 42 };
        constexpr int get_meaning()
        {
            static_assert(MeaningOfLife == 42, "unexpected!"); // static_assert
            return MeaningOfLife;
        }
        using vstr = std::vector<int>;  // type alias
        extern double d; // extern variable
    
    #define LOG   // macro definition
    
    #ifdef LOG   // conditional compilation directive
        void print_to_log();
    #endif
    
        class my_class   // regular class definition,
        {                // but no non-inline function definitions
    
            friend class other_class;
        public:
            void do_something();   // definition in my_class.cpp
            inline void put_value(int i) { vals.push_back(i); } // inline OK
    
        private:
            vstr vals;
            int i;
        };
    
        struct RGB
        {
            short r{ 0 };  // member initialization
            short g{ 0 };
            short b{ 0 };
        };
    
        template <typename T>  // template definition
        class value_store
        {
        public:
            value_store<T>() = default;
            void write_value(T val)
            {
                //... function definition OK in template
            }
        private:
            std::vector<T> vals;
        };
    
        template <typename T>  // template declaration
        class value_widget;
    }
    

    References

    • Header Filers - Microsoft

    See Also

    • KT File Format
    • AVIF File Format
    • RA File Format
    • XLAM File Format
    • HH - C++ Header File Format
     
     English
    Close
     Deutsch
     日本
     中文
     русский
     Français
     한국인
     Español
     Italiano
     Nederlands
     हिन्दी
     Indonesian
     Português
     عربي
     Türkçe
     Ελληνικά
     ไทย
     עִברִית
     Svenska
     українська
     Tiếng Việt
     български
     Magyar
     čeština
     Română
     Polski