Gå til innhold

Hjelp til å lære C++?


Anbefalte innlegg

Nå vandrer jeg ut på dypt vann, men trodde at man alltid kun burde inkludere det man faktisk trenger. F.eks. om du bare trenger å lese filer, men ikke skrive, så burde man inkludere ifstream istedet for fstream. Dette for å slippe unødvendig overhead(større fil).

Lenke til kommentar
Videoannonse
Annonse

Det stemmer. (I mitt eksempel brukes både ifstream og ofstream, derfor inkluderer jeg <fstream>.) Man skal alltid inkludere alt man trenger, men ingenting mer. Det betyr: Om du bruker <functional> (eller en hvilken som helst annen headerfil) og trenger <functional> skal du inkludere <functional> enten koden kompilerer uten eller ikke. Samtidig, om du ikke egentlig trenger <functional> skal du heller ikke inkludere den.

Lenke til kommentar

Myubi: Det med inkludering har vel mest med kompileringstid. Om du kompilerer dette programmet:

#include <iostream>
#include <fstream>
#inlcude <string>
#inlcude <vector>

int main() {
   std::cout << "Hello world!";
}

så skal det vel ikkje i teorien ta meir plass enn om du berre hadde inkludert iostream. Biblioteka består jo av funksjonar og klassar, og det skal jo ikkje bli større om du lager ein funksjon som ikkje er i bruk...

 

Det som derimot skjer er jo at det tek lenger tid å kompilere, så om du har eit stoort prosjekt kan det vel vere lurt å inkludere minimalt...

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...