Die Programmiersprache C++

C++ ist eine Programmiersprache, welche 1979 von Bjarne Stroustrup erfunden wurde. C++ hieß ursprünglich C with Classes, und wurde 1983 in C++ umbenannt. C++ ist wie C eine statisch typisierte Sprache, welche compiliert wird um ein Executable zu erzeugen:
Von der .cpp Datei zur ausführbaren Datei
Von der .cpp Datei zur ausführbaren Datei
Wie das obige Schaubild zeigt, wird eine .cpp Datei durch den Compiler zu einer .o Datei kompiliert. Aus dieser erzeugt dann wiederum der Linker die ausführbare Datei. Neben der .cpp Datei gibt es auch noch die Headerdatei (.h oder .hpp), welche die Deklarationen des Codes enthält, und so auch in andere .cpp Dateien eingebunden werden kann. Dies dient der Bekanntmachung der benutzen Funktionen und Klassen. Diese sind dann wiederum in der zur Headerdatei gehörenden .cpp Datei definiert. Auch ist das obige Bild nicht ganz korrekt, in C++ wird die .cpp Datei erst von einem Präprozessor bearbeitet, welcher die entsprechenden Anweisungen (#define und andere #bezeichner) an den Präprozessor ausführt, bzw. diese mit dem entsprechenden Text ersetzt. Hierzu zählen auch #include Statements, welche durch den Inhalt der Headerdatei ersetzt werden. Danach wird die Datei compiliert.

C++ ist als eine freie Programmiersprache konzipiert, dass heißt es gibt von der Sprache aus kein Paradigma, welches dem Programmierer einen bestimmten Stil aufzwingt. Allerdings ist C++ casesensitiv, der Programmierer muss also auf die Groß-  und Kleinschreibung bei der Programmierung achten. C++ kennt unter anderem Funktionen, Variablen, Klassen und generische Programmierung mit Templates. Es bleibt dem Programmierer überlassen, was er davon einsetzen will. Ebenso ist C++ als Programmiersprache plattformunabhängig, und kann für viele Plattformen kompiliert werden.

Neben dem reinen Sprachstandard gehört auch die Standard Library zur Sprache. Diese ist auch unter dem Begriff Standard Template Library (STL) bekannt. In ihr sind viele Hilfsklassen wie Container (z.B. std::list) oder auch Algorithmen (z.B. std::sort) enthalten. Als Erweiterung der Standard Library kann die Library Sammlung boost gelten. In ihr sind viele Libraries zusammengefasst, welche weitere, nicht vom Standard abgedeckte Aufgaben übernehmen können.
Es existieren zahlreiche weitere C++ Libraries und Frameworks. So ist die Erstellung von Oberflächen nicht im Sprachstandard enthalten, hier haben sich Qt, wxWidgets und GTKmm als plattformunabhängige Frameworks bewährt.