C++

Fra Wikipedia, den frie encyklopedi

Gå til: navigasjon, søk

C++ er et populært høynivå programmeringsspråk som er en utvidelse av språket C. C++ ble opprinnelig kalt «C with Classes» og ble utviklet og implementert av dansken Bjarne Stroustrup omkring 198385, som da jobbet for AT&T Bell Labs.

C++ er et multiparadigmespråk, med støtte for funksjonell programmering, objektorientert programmering (OOP), dataabstraksjon og generisk programmering. Populariteten skyldes både at det bygger på C og at det er implementert for de fleste operativsystem.

Innhold

[rediger] Historie

Navnet C++ ble lansert av Rick Mascitti sommeren 1983. Det er et ordspill rundt forbedret C; i begge språkene så kan «C++» tolkes som «C pluss en».

Tidlige versjoner av «C with Classes» har vært i bruk siden rundt 1980. Den første bruken av C++ utenfor forskningsmiljøet var i juli 1983.

Etterhvert som språket ble populært, begynte man på en standariseringsprosess. Den amerikanske standariseringsorganisasjonen ANSI startet sitt arbeid i desember 1989. I juni 1991 så ble denne komiteen tatt opp av den internasjonale standariseringsorganisasjonen ISO. I april 1995 så kom det første offentlige utkastet til en standard. I 1998 så ble språket både en ISO- og ANSI-standard.

Standardiseringen av språket inkluderer også standardbiblioteket.

[rediger] Teknisk overblikk

I følge standarden så består C++ av to deler: Kjernespråket og standardbiblioteket. Biblioteket inkluderer det meste av det som tidligere var kjent som Standard Template Library (STL) og C-bibliotekene. Mange andre biblioteker eksisterer også for språket, men disse er ikke en del av standarden.

[rediger] Kjernespråket

Kjernespråket bygger på C. Egenskaper ved C++ som C ikke har inkluderer new- og delete-operatorene, bool som datatype, referanser, bruken av const, inline-funksjoner, default-argumeter, overlagring av funksjoner, navnerom, klasser (inkl. arv, medlemsfunksjoner, virtuelle funksjoner, abstrakte klasser, destruktorer og konstruktorer), overlagring av operatorer, ::-operatoren, unntakshåndtering, typeidentifikasjon under kjøring, definere typekonvertering.

C++ sjekker også typer strengere enn C i noen tilfeller.

Kommentarer som starter med to skråstreker ("//") var opprinnelig en del av C sin forgjenger BCPL, og ble tatt inn igjen i C++.

[rediger] Standardbiblioteket

I tillegg til C-bibliotekene med matematiske funksjoner og annet, så har C++ med STL i standarden. Her tilbys blant annet generelle lagringstyper (vector, list, array og annet), strenger, iteratorer (generelle pekere inn i en lagringstype), I/O og algoritmer. Generisk kode gjør at man kan skrive algoritmer som virker på en hvilken som helst slags lagringstype. For eksempel så virker de innebyggede sorteringsalgoritmene på både lister og vektorer.

[rediger] Hello World

   #include <iostream>
    
   int main(int argc, char** argv)
   {
       std::cout << "Hello, world!" << std::endl;
       return 0;
   }

Kommentert:

   #include <iostream> // inkluderer standardheader iostream
    
   int main(int argc, char** argv) // her starter programmet å kjøre
   {
       // cout og endl ligger i navnerommet std
       // cout << "Hello, world!" : copy out, kopierer "Hello, world!" til standard output
       // endl : manipulerer standard output slik at man får en ny linje
       // forkast resultatet med ;
       std::cout << "Hello, world!" << std::endl;
       // programmet returnerer 0 for å antyde suksess
       return 0;
   }

[rediger] Bøker

[rediger] Eksterne lenker

[rediger] Guider/Tutorials

Personlige verktøy