File Format Docs
NO

HPP-filformat - C++-hodefil

Oppdatert

Hva er en HPP-fil?

“.hpp”-filformatet brukes ofte for overskriftsfiler i programmeringsspråket C++. Header-filer inneholder vanligvis deklarasjoner og definisjoner av funksjoner, klasser, variabler og konstanter som brukes av andre kildekodefiler i C++-prosjektet.

Hensikten med å bruke overskriftsfiler er å gi en måte å dele felles kode på tvers av flere kildekodefiler uten å duplisere selve koden. Når C++-kildefilen trenger å få tilgang til erklæringer eller definisjoner fra overskriftsfilen, inkluderer den overskriftsfilen ved å bruke preprosessordirektivet #include.

Filtypen “.hpp” brukes ofte for å indikere at en fil er en C++-header-fil. Det er ikke et krav å bruke denne spesifikke utvidelsen for header-filer, og du kan også komme over header-filer med “.h” eller andre utvidelser. Valget av utvidelse er i stor grad et spørsmål om konvensjon og personlig preferanse.

Når en C++-kildefil inkluderer overskriftsfil ved bruk av ‘#include’, kombinerer kompilatoren effektivt innholdet i overskriftsfilen med kildefilen før den kompileres som en enhet. Dette lar kildefilen få tilgang til erklæringer og definisjoner i overskriftsfilen, og gir nødvendig informasjon for kompilatoren for å utføre typekontroll og kodegenerering.

Hva inneholder HPP-filen?

Her er noe vanlig innhold du kan finne i “.hpp”-filen:

  • Funksjonserklæringer: Header-filer inkluderer ofte funksjonserklæringer uten deres faktiske implementeringer. Disse erklæringene gir informasjon om funksjonens navn, returtype og parametere, slik at andre kildekodefiler kan bruke funksjonen uten å måtte vite implementeringsdetaljer.
  • Klasseerklæringer: Overskriftsfiler kan inneholde klasseerklæringer, inkludert klassenavn, medlemsvariabler, medlemsfunksjoner og tilgangspesifikasjoner. Ved å inkludere klasseerklæring i overskriftsfilen, kan andre kildekodefiler lage objekter av den klassen og få tilgang til medlemmene.
  • Konstante deklarasjoner: Header-filer kan definere konstanter, for eksempel globale variabler eller enum-verdier som er ment å deles på tvers av flere kildekodefiler. Disse konstantene kan nås ved å inkludere overskriftsfil i andre kildefiler, slik at de kan bruke de definerte konstantene.
  • Typedefinisjoner: Overskriftsfiler kan inneholde typedefinisjoner som bruker “typedef” nøkkelord eller typealiaser som bruker “using” nøkkelord. Disse definisjonene skaper nye navn for eksisterende typer, noe som gjør koden mer lesbar og vedlikeholdbar.
  • Inline funksjonsdefinisjoner: I noen tilfeller kan overskriftsfiler inneholde innebygde funksjonsdefinisjoner. Innebygde funksjoner er små funksjoner som utvides på anropsstedet i stedet for å bli kalt som en separat funksjon. Ved å inkludere innebygd funksjonsdefinisjon i overskriftsfilen kan kompilatoren erstatte funksjonskall med funksjonstekst direkte, noe som potensielt kan forbedre ytelsen.

HPP-fileksempel

#ifndef PERSON_HPP
#define PERSON_HPP

#include <string>

class Person {
private:
    std::string name;
    int age;

public:
    Person();
    Person(const std::string& name, int age);
    void setName(const std::string& newName);
    void setAge(int newAge);
    std::string getName() const;
    int getAge() const;
    void printInfo() const;
};

#endif

Hva er formatet til HPP-filen?

HPP er en ren tekstfil, men følger de generelle reglene og syntaksen til programmeringsspråket C++. Her er en oversikt over det generelle formatet og strukturen til “.hpp”-filen:

  • Overskriftsbeskyttelse: Vanligvis begynner en “.hpp”-fil med overskriftsbeskyttelse for å forhindre flere inkluderinger av samme fil. Dette oppnås ved å bruke forprosessordirektiver som #ifndef, #define og #endif. Overskriftsvakten sikrer at innholdet i filen bare inkluderes én gang under kompileringsprosessen.
  • Inkluder utsagn: Etter overskriftsbeskyttelse kan du inkludere andre nødvendige overskriftsfiler ved å bruke “#include”-direktivet. Disse kan inkludere standard bibliotekhoder eller andre tilpassede overskrifter som kreves av koden din.
  • Deklarasjoner og definisjoner: Det primære innholdet i “.hpp”-filen er erklæringene og, i noen tilfeller, definisjoner av klasser, funksjoner, konstanter, typealiaser og andre elementer. Du kan for eksempel deklarere klasser ved å bruke “class” nøkkelord, funksjoner ved å bruke deres returtype, navn og parameterliste, og konstanter ved å bruke “const” nøkkelord etterfulgt av deres type og navn.
  • Inline funksjonsdefinisjoner: I visse tilfeller kan du inkludere innebygde funksjonsdefinisjoner direkte i “.hpp”-filen. Innebygde funksjoner er vanligvis definert i klassekroppen, noe som betyr at funksjonsdefinisjonen er inkludert ved siden av erklæringen. Dette kan gjøres ved å sette prefiks for funksjonsdefinisjon med “inline” nøkkelord.
  • Navneområdeerklæringer: Hvis du bruker navnerom i koden din, kan du deklarere dem i “.hpp”-filen. Dette gjøres ved å bruke nøkkelordet namespace etterfulgt av navneromsnavn og omslutter den relevante koden i navneromsblokken.

Referanser

Se også