{"id":176571,"date":"2026-01-28T12:49:36","date_gmt":"2026-01-28T11:49:36","guid":{"rendered":"https:\/\/liora.io\/de\/?p=176571"},"modified":"2026-02-06T04:35:30","modified_gmt":"2026-02-06T03:35:30","slug":"c-was-die-meisten-nicht-wissen","status":"publish","type":"post","link":"https:\/\/liora.io\/de\/c-was-die-meisten-nicht-wissen","title":{"rendered":"C++: Was die meisten nicht wissen"},"content":{"rendered":"<p><strong>C++ ist eine Programmiersprache, die 1983 von Bjarne Stroustrup entwickelt wurde, der die Programmiersprache C &#8222;inkrementieren&#8220; wollte (daher der Name, c++ bedeutet &#8222;1 zu C hinzuf\u00fcgen&#8220;). Diese Sprache bringt also neue Funktionen im Vergleich zu C mit sich: objektorientierte Programmierung, Klassen, Templates usw., all diese Begriffe werden in diesem Artikel n\u00e4her erl\u00e4utert.<\/strong><\/p>\nAufgrund seiner Leistungsf\u00e4higkeit und Vielseitigkeit ist C++ eine der am h\u00e4ufigsten verwendeten Sprachen, insbesondere in der Softwareentwicklung (z. B. IPod-Schnittstelle, Webbrowser) oder der Programmierung von Videospielen (oder Betriebssystemen PS3, PS4).\n\nC++ ist zwar schwer zu beherrschen, erm\u00f6glicht aber das Schreiben von optimiertem und extrem schnellem Code, im Gegensatz zu anderen Sprachen wie Python, deren leichtere Handhabung einen Preis hat: geringere Effizienz und Geschwindigkeit.\n<h2 class=\"wp-block-heading\" id=\"h-was-sind-die-prinzipien-der-objektorientierten-programmierung\">Was sind die Prinzipien der objektorientierten Programmierung?<\/h2>\nDie objektorientierte Programmierung (OOP) beruht auf einer Reihe von Prinzipien:\n<ul>\n \t<li>Der Begriff der Klasse (privat oder \u00f6ffentlich: Struktur): Eine Klasse ist ein Satz von Daten (ganze Zahlen, ein Array&#8230;), die Attribute genannt werden, und von Methoden, die auf diese Daten einwirken, wie z. B. Anzeigen, Schreiben, Lesen oder auch Operatoren:<\/li>\n \t<li>Addition, Multiplikation&#8230;.\nDatenkapselung: Die Methoden und Daten einer Klasse werden in zwei Teile getrennt: einen privaten Teil (nur f\u00fcr den Entwickler der Klasse) und einen \u00f6ffentlichen Teil (f\u00fcr alle Benutzer zug\u00e4nglich). So kann man z. B. die Elemente eines Arrays lesen und ver\u00e4ndern, aber nicht seine Gr\u00f6\u00dfe \u00e4ndern. Diese Aufteilung verhindert viele Fehler, die durch Fehler des Programmierers verursacht werden, und erleichtert seine Arbeit: Er muss nicht wissen, wie die Klasse aufgebaut ist, um sie manipulieren zu k\u00f6nnen.<\/li>\n \t<li>In C++ verf\u00fcgen Klassen \u00fcber spezifische Methoden: den Konstruktor, der dazu dient, die Klasse zu initialisieren (dasselbe in Python), und den Destruktor, der dazu dient, die Speicherressourcen freizugeben, sobald das erstellte Objekt nicht mehr ben\u00f6tigt wird. Diese durch den Destruktor erm\u00f6glichte Speicherverwaltung, die es in Python nicht gibt, ist f\u00fcr Anf\u00e4nger eine Quelle vieler Fehler.\nVererbung: Eine allgemeine Klasse wird in spezielle Unterklassen unterteilt, was es erm\u00f6glicht, den Code zu faktorisieren und somit die Anzahl der Zeilen zu reduzieren, \u00e4hnlich wie in Python.<\/li>\n<\/ul>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"640\" height=\"427\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/05\/c1.jpg\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/05\/c1.jpg 640w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/05\/c1-300x200.jpg 300w\" sizes=\"(max-width: 640px) 100vw, 640px\"><figcaption><\/figcaption><\/figure>\n<h2 class=\"wp-block-heading\" id=\"h-prozedurale-programmierung\">Prozedurale Programmierung<\/h2>\nEine wichtige Unterscheidung in C++ ist die zwischen Funktionen, die ihre Eingaben nicht ver\u00e4ndern (sie k\u00f6nnen eventuell ein neues Objekt erstellen und zur\u00fcckgeben), und Funktionen, die Eingaben ver\u00e4ndern, aber nichts zur\u00fcckgeben. Letztere werden als Prozeduren bezeichnet.\n\nDieses Sprachparadigma erm\u00f6glicht es, Routinen zu erstellen und den Code zu faktorisieren, was seine Lesbarkeit und K\u00fcrze verbessert.\n<h2 class=\"wp-block-heading\" id=\"h-definition-der-generischen-programmierung\">Definition der Generischen Programmierung<\/h2>\nGenerische Programmierung beruht auf dem Prinzip, dass dieselben Operatoren oder Funktionen f\u00fcr verschiedene Typen (double, float, char, int&#8230;) verwendet werden, was durch das Konzept der Templates erm\u00f6glicht wird. Diese Eigenschaft macht die Sprache kurz und \u00fcberschaubar und erleichtert die Wartung.\n\nKlassen- und Funktionsschablonen sind allgemeine Codevorlagen, die es erm\u00f6glichen, abstrakte Klassen oder Funktionen mit generischen Typen (typename) zu erstellen, die nicht ausgef\u00fcllt werden m\u00fcssen.\n\nWie ist das n\u00fctzlich? Es erspart dir das Schreiben einer Funktion f\u00fcr jeden bestimmten Datentyp, da der Compiler diese automatisch beim Aufruf der abstrakten Klasse\/Funktion erstellt.\n\nDu kannst zum Beispiel eine abstrakte Funktion maximum: templatemax() erstellen und sie dann aufrufen, um das maximale Element eines Arrays von Integer, Float, Vektor usw. zu finden, dann werden die Funktionen max(int), max(float) und max(vectors) erzeugt.\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"640\" height=\"341\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/05\/C2.jpg\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/05\/C2.jpg 640w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/05\/C2-300x160.jpg 300w\" sizes=\"(max-width: 640px) 100vw, 640px\">\n\n<figcaption><\/figcaption><\/figure>\n<h2 class=\"wp-block-heading\" id=\"h-c-eine-kompilierte-sprache\">C++, eine kompilierte Sprache?<\/h2>\nC++ ist eine kompilierte Sprache: Der Quellcode, der der Maschinensprache \u00e4hnlicher ist, wird vom Compiler direkt in eine ausf\u00fchrbare Datei umgewandelt, im Gegensatz zu Python, wo ein Interpreter den Quellcode erst \u00fcbersetzen muss. Dieser Unterschied ist ein wichtiger Grund f\u00fcr die Geschwindigkeit von C++.\n<h2 class=\"wp-block-heading\" id=\"h-wo-liegen-die-grenzen-von-c\">Wo liegen die Grenzen von C++ ?<\/h2>\nC++ hat also viele Qualit\u00e4ten: Schnelligkeit, Pr\u00e4gnanz und Vielseitigkeit, aber sie haben auch ihre Nachteile. Zum einen muss der Speicher von Hand verwaltet werden (z. B. durch Destruktoren), was zu vielen Fehlern f\u00fchrt, im Gegensatz zu Pythons Garbage Collector, der den Speicher f\u00fcr uns zuweist.\n\nAndererseits ist das Erlernen von C++ komplexer, da es grundlegende Kenntnisse der Informatik erfordert.\n<h2 class=\"wp-block-heading\" id=\"h-fazit\">Fazit<\/h2>\nC++ wird h\u00e4ufig verwendet, sogar in der Data Science (ohne es zu wissen), da die Entwicklungsumgebung f\u00fcr KI-Modelle in C++ implementiert ist und Python als Bindeglied zwischen dem Eingabeskript und dieser Umgebung dient.\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\"><div class=\"wp-block-button \"><a class=\"wp-block-button__link wp-element-button \" href=\"\/#\">Liora Weiterbildungen<\/a><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>C++ ist eine Programmiersprache, die 1983 von Bjarne Stroustrup entwickelt wurde, der die Programmiersprache C \u201einkrementieren\u201c wollte (daher der Name, c++ bedeutet \u201e1 zu C hinzuf\u00fcgen\u201c). Diese Sprache bringt also neue Funktionen im Vergleich zu C mit sich: objektorientierte Programmierung, Klassen, Templates usw., all diese Begriffe werden in diesem Artikel n\u00e4her erl\u00e4utert.<\/p>\n","protected":false},"author":78,"featured_media":176572,"comment_status":"open","ping_status":"open","sticky":false,"template":"elementor_theme","format":"standard","meta":{"_acf_changed":false,"editor_notices":[],"footnotes":""},"categories":[2476],"class_list":["post-176571","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud-dev"],"acf":[],"_links":{"self":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/176571","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/users\/78"}],"replies":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/comments?post=176571"}],"version-history":[{"count":3,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/176571\/revisions"}],"predecessor-version":[{"id":216506,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/176571\/revisions\/216506"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media\/176572"}],"wp:attachment":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media?parent=176571"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/categories?post=176571"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}