C-Programmierung

Unterschiede Von C++ Und Java

Dynamische Speicherallozierung | | Strukturen als Basisdatentyp

C++ ist die objekt-orientierte Erweiterung von C.

Eine Klasse ist die Konstruktionsgrundlage für ein Objekt eines bestimmten Typs. Von einem Objekt einer bestimmten Klasse können mehrere Kopien (Instanzen) existieren. Als Basis für eine Klassendefinition dient in C++ der Formalismus der C-Struktur.

Genau wie Java verfolgt C++ die objektorientierten Paradigmen von Vererbung, Spezialisierung und Datenkapselung. C++ erlaubt sogar die Mehrfachvererbung.

Der Hauptunterschied liegt darin, dass Java automatisch für die Instanziierung von Objekten Speicher bereitstellt und initialisiert.

C++ initialisiert und kopiert Objekte hingegen nicht automatisch, sondern verlagert diese Aufgabe in die sogenannten Konstruktoren einer Klasse. Weiterhin wird externer referenzierter Speicher nicht automatisch freigegeben, sondern diese Aufgabe in die sogenannten Destruktoren einer Klasse verlagert.

Java hingegen erledigt diese Aufgabe automatisch im Hintergrund, was unter Umständen Performanzeinbußen zur Folge hat. Dies ist bei C++ nicht der Fall, dafür darf man nicht vergessen, den Speicher selber freizugeben. Anfänger übersehen dies jedoch leicht. Daher ist C++ keine Anfängerprogrammiersprache sondern eine Programmiersprache zur Entwicklung von effizienter Software.

Dynamische Speicherallozierung | | Strukturen als Basisdatentyp

Options: