C++
Fra Wikipedia, den frie encyklopedi
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 1983–85, 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 standardiseringsprosess. Den amerikanske standardiseringsorganisasjonen ANSI startet sitt arbeid i desember 1989. I juni 1991 ble denne komiteen tatt opp av den internasjonale standardiseringsorganisasjonen ISO. I april 1995 kom det første offentlige utkastet til en standard, og i 1998 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, klasser (inkl. arv, medlemsfunksjoner, virtuelle funksjoner, abstrakte klasser, destruktorer og konstruktorer), overlagring av operatorer, ::-operatoren, unntakshåndtering, typeidentifikasjon under kjøring, definert typekonvertering, og namespaces, for å hindre navnekonflikter.
C++ har støtte for templates, det vil si at én og samme klasse eller funksjon kan utføre like handlinger på forskjellige datatyper, noe som øker muligheten for å gjenbruke kode.
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, har C++ med Standard Template Library (STL). 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 innebygde sorteringsalgoritmene på både lister og vektorer.
[rediger] Hallo, verden! (Hello, world)
#include <iostream> int main() { std::cout << "Hallo, verden!" << std::endl; return 0; }
Kommentert:
#include <iostream> // inkluderer standardheader iostream int main() // her starter programmet å kjøre { // cout og endl ligger i navnerommet std // cout << "Hallo, verden!" : «copy out», kopierer "Hallo, verden!" til standard ut // endl : manipulerer standard inn slik at man får en ny linje // forkast resultatet med ; std::cout << "Hallo, verden!" << std::endl; // programmet returnerer 0 for å antyde suksess return 0; }
[rediger] Bøker
- Bjarne Stroustrup: The C++ Programming Language, Addison-Wesley, ISBN 0-201-70073-5
- Bjarne Stroustrup: The Design and Evolution of C++, Addison-Wesley, ISBN 0-201-54330-3
- Nicolai M. Josuttis: The C++ Standard Library, Addison-Wesley, ISBN 0-201-37926-0
[rediger] Se også
Forskjeller_mellom_C++_og_Java
[rediger] Eksterne lenker
- Bjarne Stroustrups hjemmeside (engelsk)
- ISO sin offisielle side (engelsk)
- Kompilering av C/C++ under UNIX
[rediger] Guider/Tutorials
- C/C++ Programming (Engelsk) :: Veldig god for begynnere
- C++ Language Tutorial :: Også veldig god for begynnere (Engelsk)
Ada | Algol60 | Algol-68 | APL | Assembler | awk | BASIC | BETA | BLISS | C | C++ | C# | Caml | CLU | Cobol | Concurrent C | Concurrent Pascal | D | Delphi | Erlang | Euclid | Forth | Fortran | Gypsy | Haskell | HyperTalk | INTERCAL | Java | JavaScript | Lisp | Mesa | ML | Modula | Modula-2 | Objective-C | OCaml | O'Haskell | Pascal | Perl | PHP | Pike | PL/I | Plankalkül | Prolog | Python | REXX | Ruby | Scheme | Simula | SML | Smalltalk | Snobol | Visual Basic