C++
Fra Wikipedia, den frie encyklopædi
C++ (udtales C plus plus) er et multiparadigmatisk programmeringssprog baseret på C med hvilket det fastholder næsten fuldstændig kompatibilitet. C++ er udviklet primært af Bjarne Stroustrup.
Indholdsfortegnelse |
[redigér] Historie
C++ blev oprindeligt 'opfundet' af danskeren Bjarne Stroustrup i begyndelsen af 1980'erne (oprindelig kaldt C with Classes), og blev i løbet af en årrække et af de mest populære programmeringssprog nogensinde - en del af Windows-kernen er skrevet i C++, og det samme gælder for Linux (begge dog hovedsageligt skrevet i C).
Det første C++ compiler hed CFRONT, og oversætte C++ kode til en maskinafhængig C kode. Det regnedes for en rigtig compiler, da den i modsætning til præprocessorer udførte fuld syntaktisk og semantisk check af kildeteksten.
[redigér] Objektorienterede features
C++ arver, i modsætning til det andet objektorienterede, C-baserede programmeringssprog, Objective-C sin objektorienterede syntaks fra Simula. C++ er også inspireret af ALGOL 68, Ada, CLU og ML. Fra C++ nedarver bla. Java og C# en del af deres features og anvender næsten samme syntaks.
C++ er standardiseret, både af ISO og ANSI
[redigér] "Hello World!" eksempel i C++
#include <iostream> int main() { std::cout << "Hello World!" << std::endl; }
[redigér] Kompatibilitet med C
Da Bjarne Stroustrup udviklede C++ lagde han stor vægt på at C++ skulle fungere som en udvidelse til C. Af denne grund er alle basale features identiske med C, fx operatorancinitet. Dette skulle gøre det muligt at compilere C kode som C++ kode hvilket ville gøre det muligt umiddelbart at skifte et C projekt til C++. Et problem kan er dog at nogle implicitte konverteringsregler er ændret. I C er følgende udtryk tilladt:
int* i = malloc(sizeof(int) * 5); /* Implicit konvertering fra void* til int* */
I C++ kræver en sådan konvertering et explicit cast:
int* i = (int* ) malloc(sizeof(int) * 5);