<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.byte-welt.net/index.php?action=history&amp;feed=atom&amp;title=Cpp</id>
	<title>Cpp - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.byte-welt.net/index.php?action=history&amp;feed=atom&amp;title=Cpp"/>
	<link rel="alternate" type="text/html" href="https://wiki.byte-welt.net/index.php?title=Cpp&amp;action=history"/>
	<updated>2026-08-10T22:34:24Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Byte-Welt Wiki</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://wiki.byte-welt.net/index.php?title=Cpp&amp;diff=3397&amp;oldid=prev</id>
		<title>EagleEye: /* Sprachmerkmale im Detail */</title>
		<link rel="alternate" type="text/html" href="https://wiki.byte-welt.net/index.php?title=Cpp&amp;diff=3397&amp;oldid=prev"/>
		<updated>2008-08-11T12:03:45Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Sprachmerkmale im Detail&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 11. August 2008, 12:03 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l22&quot;&gt;Zeile 22:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 22:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Sprachmerkmale im Detail ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Sprachmerkmale im Detail ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;C++ basiert auf der [[C (Programmiersprache)|Programmiersprache C]] wie in [[International Organization for Standardization|ISO]]/IEC 9899:1990 beschrieben. Zusätzlich zu den in [[C (Programmiersprache)|C]] vorhandenen Möglichkeiten bietet C++ weitere [[Datentyp]]en, [[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Klassen&lt;/del&gt;]] mit [[Vererbung (objektorientierte Programmierung)|Vererbung]] und [[Virtuelle Funktion|virtuellen Funktionen]], [[Ausnahmebehandlung]], [[Template (Programmierung)|Templates (Schablonen)]], [[Namensraum|Namensräume]], [[Inline-Ersetzung|Inline-Funktionen]], [[Überladen]] von [[Operator]]en und Funktionsnamen, [[Referenz (Programmierung)|Referenzen]], Operatoren zur [[Freispeicher (Programmierung)|Freispeicherverwaltung]] und mit der [[C++-Standardbibliothek]] eine erweiterte [[Bibliothek (Programmierung)|Bibliothek]].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;C++ basiert auf der [[C (Programmiersprache)|Programmiersprache C]] wie in [[International Organization for Standardization|ISO]]/IEC 9899:1990 beschrieben. Zusätzlich zu den in [[C (Programmiersprache)|C]] vorhandenen Möglichkeiten bietet C++ weitere [[Datentyp]]en, [[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Klasse&lt;/ins&gt;]]&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;n &lt;/ins&gt;mit [[Vererbung (objektorientierte Programmierung)|Vererbung]] und [[Virtuelle Funktion|virtuellen Funktionen]], [[Ausnahmebehandlung]], [[Template (Programmierung)|Templates (Schablonen)]], [[Namensraum|Namensräume]], [[Inline-Ersetzung|Inline-Funktionen]], [[Überladen]] von [[Operator]]en und Funktionsnamen, [[Referenz (Programmierung)|Referenzen]], Operatoren zur [[Freispeicher (Programmierung)|Freispeicherverwaltung]] und mit der [[C++-Standardbibliothek]] eine erweiterte [[Bibliothek (Programmierung)|Bibliothek]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;C++ ist eine so genannte „Multiparadigmen-Sprache“, die verschiedene Programmiertechniken unterstützt:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;C++ ist eine so genannte „Multiparadigmen-Sprache“, die verschiedene Programmiertechniken unterstützt:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>EagleEye</name></author>
	</entry>
	<entry>
		<id>https://wiki.byte-welt.net/index.php?title=Cpp&amp;diff=3121&amp;oldid=prev</id>
		<title>AndreUhres: Änderung 3120 von AndreUhres (Diskussion) wurde rückgängig gemacht.</title>
		<link rel="alternate" type="text/html" href="https://wiki.byte-welt.net/index.php?title=Cpp&amp;diff=3121&amp;oldid=prev"/>
		<updated>2008-07-26T06:03:21Z</updated>

		<summary type="html">&lt;p&gt;Änderung 3120 von &lt;a href=&quot;/index.php/Spezial:Beitr%C3%A4ge/AndreUhres&quot; title=&quot;Spezial:Beiträge/AndreUhres&quot;&gt;AndreUhres&lt;/a&gt; (&lt;a href=&quot;/index.php/Benutzer_Diskussion:AndreUhres&quot; title=&quot;Benutzer Diskussion:AndreUhres&quot;&gt;Diskussion&lt;/a&gt;) wurde rückgängig gemacht.&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 26. Juli 2008, 06:03 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l135&quot;&gt;Zeile 135:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 135:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Kategorie:Cpp]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Kategorie:Cpp]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Kategorie:Allgemeines]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Wikipedia|Seite=C++}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Wikipedia|Seite=C++}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>AndreUhres</name></author>
	</entry>
	<entry>
		<id>https://wiki.byte-welt.net/index.php?title=Cpp&amp;diff=3120&amp;oldid=prev</id>
		<title>AndreUhres: /* Erweiterung der Programmbibliothek */</title>
		<link rel="alternate" type="text/html" href="https://wiki.byte-welt.net/index.php?title=Cpp&amp;diff=3120&amp;oldid=prev"/>
		<updated>2008-07-26T06:01:52Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Erweiterung der Programmbibliothek&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 26. Juli 2008, 06:01 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l135&quot;&gt;Zeile 135:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 135:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Kategorie:Cpp]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Kategorie:Cpp]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Kategorie:Allgemeines]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Wikipedia|Seite=C++}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Wikipedia|Seite=C++}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>AndreUhres</name></author>
	</entry>
	<entry>
		<id>https://wiki.byte-welt.net/index.php?title=Cpp&amp;diff=1600&amp;oldid=prev</id>
		<title>Swerflash: 1 Versionen</title>
		<link rel="alternate" type="text/html" href="https://wiki.byte-welt.net/index.php?title=Cpp&amp;diff=1600&amp;oldid=prev"/>
		<updated>2007-06-13T18:30:28Z</updated>

		<summary type="html">&lt;p&gt;1 Versionen&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 13. Juni 2007, 18:30 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;de&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(kein Unterschied)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Swerflash</name></author>
	</entry>
	<entry>
		<id>https://wiki.byte-welt.net/index.php?title=Cpp&amp;diff=1599&amp;oldid=prev</id>
		<title>EagleEye: /* Erweiterung der Programmbibliothek */</title>
		<link rel="alternate" type="text/html" href="https://wiki.byte-welt.net/index.php?title=Cpp&amp;diff=1599&amp;oldid=prev"/>
		<updated>2007-02-27T18:49:53Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Erweiterung der Programmbibliothek&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;C++&amp;#039;&amp;#039;&amp;#039; ist eine der verbreitetsten und industriell bedeutendsten [[Programmiersprache]]n. Sie wurde von [[Bjarne Stroustrup]] bei AT&amp;amp;T in den 1980er Jahren als Erweiterung der Sprache [[C (Programmiersprache)|C]] entwickelt. C++ ist als Mehrzwecksprache konzipiert und unterstützt insbesondere [[Effizienz|effiziente]] und maschinennahe Programmierung, [[Abstrakter Datentyp|Datenabstraktion]] sowie [[Objektorientierte Programmierung|objektorientierte]] und [[generische Programmierung]].&lt;br /&gt;
&lt;br /&gt;
== Anwendungsgebiete ==&lt;br /&gt;
C++ wird in praktisch allen Bereichen der Programmierung eingesetzt. Eines der Haupteinsatzgebiete ist die [[Systemprogrammierung]]. Typische Anwendungsfelder sind [[Betriebssystem]]e, [[Eingebettetes System|eingebettete Systeme]], [[virtuelle Maschine]]n, [[Treiber (Software)|Treiber]] und [[Signalprozessor]]en. C++ nimmt hier oft den Platz ein, der früher ausschließlich [[Assembler]]-Sprachen und der Programmiersprache [[Programmiersprache C|C]] vorbehalten war.&lt;br /&gt;
&lt;br /&gt;
Auch in der [[Anwendungsprogramm]]ierung ist C++ verbreitet, wurde aber mit dem Aufkommen der Sprachen [[Java (Programmiersprache)|Java]] und [[C-Sharp|C#]] zum Teil aus dieser Domäne zurückgedrängt. Bei der Anwendungsprogrammierung kommt C++ heute vor allem dort zum Zuge, wo maximale Forderungen an die Effizienz gestellt werden, um durch technische Rahmenbedingungen vorgegebene Leistungsgrenzen möglichst gut auszunutzen. Ein Beispiel dafür ist die Programmierung von Computerspielen. In diesem Bereich ist C++ die dominierende Programmiersprache.&lt;br /&gt;
&lt;br /&gt;
== Eigenschaften ==&lt;br /&gt;
=== Sprachdesign ===&lt;br /&gt;
Die Sprache C++ zeichnet sich dadurch aus, dass sie, anstatt für typische Problemstellungen Einzellösungen anzubieten, verallgemeinerte Mechanismen favorisiert. Ein Schwerpunkt liegt dabei auf der Unterstützung der Sprachmittel zur Entwicklung von Bibliotheken. Ein Beispiel für die hohe Flexibilität, die dadurch erreicht wird, ist die anpassbare Speicherverwaltung, in die sich etwa nahtlos eine [[automatische Speicherbereinigung]] integrieren lässt.&lt;br /&gt;
&lt;br /&gt;
Eine der Stärken von C++ ist auch die Kombinierbarkeit von effizienter, maschinennaher Programmierung mit mächtigen Sprachmitteln, die einfache bis komplexe Implementierungsdetails zusammenfassen und weitgehend hinter abstrakten Befehlsfolgen verbergen. Dabei kommt vor allem die [[C++-Metaprogrammierung|Template-Metaprogrammierung]] zum Zuge, eine Technik, die eine nahezu kompromisslose Verbindung von Effizienz und Abstraktion erlaubt.&lt;br /&gt;
&lt;br /&gt;
=== Kompatibilität mit C ===&lt;br /&gt;
Um sich die hohe Verbreitung der Programmiersprache C zunutze zu machen, wurde C++ als Erweiterung von [[C (Programmiersprache)|C]] gemäß dem damaligen Stand von 1990 ([[ISO/IEC 9899:1990]], auch kurz C90 genannt) entworfen. C-Compiler sind auch heute noch für praktisch jeden Prozessor verfügbar, und in C geschriebene Programme können in der Regel ohne große Anpassungen in C++ übernommen werden.&lt;br /&gt;
&lt;br /&gt;
Die Kompatibilität mit C zwingt C++ aber auch zur Fortführung einiger dadurch übernommener Nachteile. Dazu zählen die teilweise schwer verständlichen C-Syntax, der als überholt geltende [[Präprozessor]] sowie verschiedene von der jeweiligen Plattform abhängige Details der Sprache&amp;lt;!--, wie beispielsweise die Auswertungsreihenfolge von Teilausdrücken--&amp;gt;. Plattformabhängigkeiten erschweren die Portierung von C++-Programmen zwischen unterschiedlichen Rechnertypen, Betriebssystemen und Compilern.&lt;br /&gt;
&lt;br /&gt;
Die letzten Änderungen an C fanden im Jahr 1999 statt ([[ISO/IEC 9899:1999]], auch kurz C99 genannt), also nach der Normung von C++, sodass dort eingeflossene Änderungen nicht in C++ berücksichtigt werden konnten. C-Compiler, die den Stand der ISO-Norm von 1999 umsetzen, sind aber noch nicht sehr verbreitet. Die theoretisch dadurch entstandenen Inkompatibilitäten spielen deshalb in der Praxis bislang keine große Rolle. Um dennoch einem Auseinanderdriften der Sprachen vorzubeugen, werden die Spracherweiterungen von C bei der in Arbeit befindlichen C++-Version berücksichtigt.&lt;br /&gt;
&lt;br /&gt;
Mittlerweile ist C++ selbst sehr stark verbreitet, und kann einen Vorteil gegenüber C oft dann ausspielen, wenn die Größe eines Projektes die Verwendung von Assembler oder C nicht ratsam erscheinen lassen.&lt;br /&gt;
&lt;br /&gt;
=== Sprachmerkmale im Detail ===&lt;br /&gt;
C++ basiert auf der [[C (Programmiersprache)|Programmiersprache C]] wie in [[International Organization for Standardization|ISO]]/IEC 9899:1990 beschrieben. Zusätzlich zu den in [[C (Programmiersprache)|C]] vorhandenen Möglichkeiten bietet C++ weitere [[Datentyp]]en, [[Klassen]] mit [[Vererbung (objektorientierte Programmierung)|Vererbung]] und [[Virtuelle Funktion|virtuellen Funktionen]], [[Ausnahmebehandlung]], [[Template (Programmierung)|Templates (Schablonen)]], [[Namensraum|Namensräume]], [[Inline-Ersetzung|Inline-Funktionen]], [[Überladen]] von [[Operator]]en und Funktionsnamen, [[Referenz (Programmierung)|Referenzen]], Operatoren zur [[Freispeicher (Programmierung)|Freispeicherverwaltung]] und mit der [[C++-Standardbibliothek]] eine erweiterte [[Bibliothek (Programmierung)|Bibliothek]].&lt;br /&gt;
&lt;br /&gt;
C++ ist eine so genannte „Multiparadigmen-Sprache“, die verschiedene Programmiertechniken unterstützt:&lt;br /&gt;
&lt;br /&gt;
* [[Prozedurale Programmierung]]&lt;br /&gt;
* [[Modulare Programmierung]]&lt;br /&gt;
* [[Strukturierte Programmierung]]&lt;br /&gt;
* [[Datentyp|Programmierung mit selbstdefinierten Datentypen]] ([[Abstrakter Datentyp|abstrakte Datentypen]])&lt;br /&gt;
* [[Objektorientierte Programmierung]] (siehe auch [[Polymorphie (Programmierung)|Polymorphie (Vielgestaltigkeit)]])&lt;br /&gt;
* [[Generische Programmierung]] mittels [[Template (Programmierung)|Templates]].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Siehe auch:&amp;#039;&amp;#039; [[Programmierparadigma]], [[C++-Metaprogrammierung]]&lt;br /&gt;
&lt;br /&gt;
=== Hallo-Welt-Programm in C++ ===&lt;br /&gt;
Der folgende [[Quelltext]] stellt ein einfaches C++-[[Computerprogramm|Programm]] dar, das die Meldung [[Hallo-Welt-Programm|„&amp;#039;&amp;#039;Hallo Welt!&amp;#039;&amp;#039;“]] auf dem Standardausgabemedium ausgibt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- WICHTIGER HINWEIS: Änderungen oder Erweiterungen des Hallo-Welt-Programms erst auf der Diskussionsseite besprechen! Nicht abgesprochene Änderungen oder Erweiterungen werden umgehend zurückgesetzt. --&amp;gt;&lt;br /&gt;
 #include &amp;lt;iostream&amp;gt; &amp;lt;!-- bitte nicht ändern --&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main() &amp;lt;!-- bitte nicht ändern --&amp;gt;&lt;br /&gt;
 {&lt;br /&gt;
   std::cout &amp;lt;&amp;lt; &amp;quot;Hallo Welt!&amp;quot; &amp;lt;&amp;lt; std::endl; &amp;lt;!-- bitte nicht ändern --&amp;gt;&lt;br /&gt;
   &amp;lt;!-- Der Rückgabewert fehlt nicht. Bitte nichts einfügen! --&amp;gt;&lt;br /&gt;
 }&lt;br /&gt;
&amp;#039;&amp;#039;Erläuterungen:&amp;#039;&amp;#039; Bei &amp;lt;tt&amp;gt;main&amp;lt;/tt&amp;gt; handelt es sich um eine [[Funktion (Programmierung)|Funktion]], genauer gesagt ist es die Hauptfunktion des gesamten Programms. Sie ist in jedem C++-Programm vorhanden und wird nach dem Start des Programms aufgerufen. Die Funktion &amp;lt;tt&amp;gt;main&amp;lt;/tt&amp;gt; ist die einzige Funktion, die – obwohl sie einen Wert zurückgibt – nicht die Anweisung „&amp;lt;tt&amp;gt;return&amp;lt;/tt&amp;gt;“ benötigt. Ohne die explizite Anweisung &amp;lt;tt&amp;gt;return&amp;lt;/tt&amp;gt; gibt &amp;lt;tt&amp;gt;main&amp;lt;/tt&amp;gt; den Wert 0 zurück.&lt;br /&gt;
&lt;br /&gt;
=== Hallo-Welt-Programm in C ===&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main()  {&lt;br /&gt;
   printf(&amp;quot;Hallo Welt!&amp;quot;); &lt;br /&gt;
   return 0;  &lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Umsetzung ==&lt;br /&gt;
&lt;br /&gt;
=== C++-Compiler ===&lt;br /&gt;
Die Implementierung eines C++-Compilers gilt als äußerst aufwändig. Seit der Fertigstellung der Sprachnorm 1998 dauerte es mehrere Jahre bis die Sprache von C++-Compilern weitestgehend unterstützt wurde. Schon allein die Umsetzung des Sprachmittels &amp;lt;tt&amp;gt;export&amp;lt;/tt&amp;gt;, das zur Unterstützung von Templates dient, wird mit etwa 2 bis 3 Mannjahren veranschlagt, ein Zeitraum, in dem für andere Programmiersprachen komplette Compiler entstehen. Bis heute gab es erst zwei Compiler, die über das Sprachmittel &amp;lt;tt&amp;gt;export&amp;lt;/tt&amp;gt; verfügt haben.&lt;br /&gt;
&lt;br /&gt;
Zu den bedeutendsten C++-[[Compiler]]n gehören:&lt;br /&gt;
&lt;br /&gt;
* Der [[Comeau C++]] ist derzeit der einzige Compiler, der &amp;lt;tt&amp;gt;export&amp;lt;/tt&amp;gt; von Templates integriert hat und damit der einzige, der alle C++-Sprachmittel enthält. Aufgrund seiner außergewöhnlich hohen Konformität mit der C++-Sprachnorm ist er oft Maßstab für die Konformität von Programmen und anderen C++-Compilern. Das so genannte &amp;quot;Front-End&amp;quot; des Compilers, also der Teil, der die Analyse-Phase implementiert, wurde von der Firma &amp;#039;&amp;#039;Edison Design Group&amp;#039;&amp;#039; (EDG) erstellt, die sich auf die Entwicklung von Compiler-Front-Ends spezialisiert hat und deren C++-Front-End auch in vielen anderen kommerziellen C++-Compilern integriert ist. Der Comeau-Compiler kann auch über das Internet ausprobiert werden: [http://www.comeaucomputing.com/tryitout/ ]&lt;br /&gt;
&lt;br /&gt;
* Der [[GNU Compiler Collection|g++]] ist die C++-Ausprägung der GNU Compiler Collection (GCC); g++ ist quelloffen, frei verfügbar und zeichnet sich seit der Version 4.1 durch eine hohe Sprachkonformität aus. Der g++ ist auch für besonders viele Plattformen erhältlich: Unix, Linux, Mac&amp;amp;nbsp;OS&amp;amp;nbsp;X, Windows und AmigaOS. Derzeit dient eine Sonderanfertigung des Compilers namens ConceptGCC als Prüfmittel für verschiedene geplante C++-Spracherweiterungen.&lt;br /&gt;
&lt;br /&gt;
* [[Microsoft Visual C++]] von [[Microsoft]] ist der verbreitetste Compiler unter dem Betriebssystem Windows und damit einer der bekanntesten und einflussreichsten Compiler überhaupt. Seit der Version 7.1 gilt er als besonders sprachkonform.&lt;br /&gt;
&lt;br /&gt;
* Der [[Intel C++ Compiler]], ein Produkt des weltweit führenden Prozessorherstellers [[Intel]], verwendet ebenfalls das erwähnte C++-Front-End von EDG und weist aus diesem Grund eine hohe Konformität mit der C++-Sprachnorm auf. Der &amp;#039;&amp;#039;Intel C++ Compiler&amp;#039;&amp;#039; erzeugt Maschinen-Code für die [[Intel]]-Prozessoren unter den Betriebssystemen Windows, Linux und MacOS&amp;amp;nbsp;X. Da die mit dem &amp;#039;&amp;#039;Intel C++ Compiler&amp;#039;&amp;#039; erzeugten Programme den Befehlssatz der Intel-Prozessoren besonders gut ausnutzen, erzeugen sie besonders effiziente Programme.&lt;br /&gt;
&lt;br /&gt;
=== C++-Programmierung ===&lt;br /&gt;
C++ wurde in der Phase, in der die Sprache die größte Entwicklung erlebte, bereits intensiv eingesetzt. Dies sorgte dafür, dass viele Entwickler nicht oder nur unzureichend mit neueren Eigenschaften der Sprache vertraut waren oder diese auf Grund von unvollständigen Compilern nicht einsetzen konnten. Daher sind viele Projekte, die in C++ entwickelt wurden, auch heute nicht auf dem aktuellen Stand der C++-Programmierung oder sogar inkompatibel zur aktuellen C++-Norm.&lt;br /&gt;
&lt;br /&gt;
Das breite Leistungsspektrum und die vielfältigen Gestaltungsmöglichkeiten der Sprache führen zu verhältnismäßig langen Einarbeitungszeiten. Außerdem wird die Verwendung von Programmierrichtlinien aus Gründen der Wartbarkeit und Fehleridentifizierung mehr als in anderen Sprachen angeraten. Demgegenüber ist der Stand vieler Lehrbücher und Lehrveranstaltungen veraltet. Lehrinhalte stimmen oft nicht mit der Realität existierender Compiler überein.&lt;br /&gt;
&lt;br /&gt;
== Vergleich mit anderen Sprachen ==&lt;br /&gt;
=== Objective-C ===&lt;br /&gt;
C++ war nicht der einzige Ansatz, die Programmiersprache C um Eigenschaften zu erweitern, die das objektorientierte Programmieren vereinfachen. In den 1980er Jahren entstand die Programmiersprache [[Objective-C]], die sich aber im Gegensatz zu C++ an [[Smalltalk (Programmiersprache)|Smalltalk]] und nicht an [[Simula]] orientierte. Die Syntax von Objective-C unterscheidet sich unter anderem wegen der Smalltalk-Wurzeln stark von C++. Objective-C ist deutlich weniger weit verbreitet&amp;lt;!-- genauer! --&amp;gt; als C++. Bekannteste Einsatzgebiete von Objective-C sind die Programmierschnittstelle [[OpenStep]]&amp;lt;!-- Bedeutung überprüfen --&amp;gt; und das Betriebssystem [[Mac OS X]].&lt;br /&gt;
&lt;br /&gt;
=== Java und C# ===&lt;br /&gt;
Die Programmiersprachen [[Java (Programmiersprache)|Java]] und [[C-Sharp|C#]] haben eine mit C++ vergleichbare Verbreitung&amp;lt;!-- genauer! --&amp;gt;. Sie verfügen über eine ähnliche, ebenfalls an C angelehnte Syntax wie C++, sind auch objektorientiert und unterstützen seit einiger Zeit&amp;lt;!-- genauer: seit wann? --&amp;gt; Typparameter&amp;lt;!--Generik--&amp;gt;, weshalb ein Vergleich mit ihnen besonders naheliegend ist. Trotz äußerlicher Ähnlichkeiten unterscheiden sie sich aber konzeptionell von C++ zum Teil beträchtlich.&amp;lt;!-- mehr und genauer! --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Generische Techniken ergänzen die objektorientierte Programmierung um Typparameter und erhöhen so die Wiederverwertbarkeit einmal kodierter Algorithmen. Die generischen Java-Erweiterungen sind jedoch lediglich auf Klassen, nicht aber auf integrierte Typen anwendbar. Demgegenüber beziehen generischen Spracherweiterungen von C# auch die integrierten Typen mit ein. Dabei handelt es sich allerdings um eine Erweiterung für Generik zur Laufzeit, die die auf Kompilationszeit zugeschnittenen C++-Templates zwar sinnvoll ergänzen, nicht aber ersetzen können.&lt;br /&gt;
&lt;br /&gt;
Gerade die generische Programmierung macht C++ zu einem mächtigen Programmierwerkzeug. Während die objektorientierte Programmierung in Java und C# nach wie vor den zentralen Abstraktionsmechanismus darstellt, ist diese Art der Programmierung in C++ rückläufig. So werden tiefe Klassenhierarchien vermieden, und zu Gunsten der Effizienz und der Minimierung des Ressourcenverbrauchs verzichtet man in vielen Fällen auf Polymorphie, einen der fundamentalen Bestandteile der objektorientierten Programmierung.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Siehe auch:&amp;#039;&amp;#039; [[Simula]], [[Smalltalk (Programmiersprache)|Smalltalk]], [[Vergleich objektorientierter Programmiersprachen]]&lt;br /&gt;
&lt;br /&gt;
== Entstehung und Weiterentwicklung ==&lt;br /&gt;
=== Entstehungsgeschichte ===&lt;br /&gt;
C++ wurde von [[Bjarne Stroustrup]] ab 1979 bei den [[Bell Laboratories|Bell-Laboratorien]] von [[AT&amp;amp;T]] entwickelt. Ausgangspunkt waren Untersuchungen am [[UNIX]]-Betriebssystemkern im Hinblick auf verteilte Programmierung.&lt;br /&gt;
&lt;br /&gt;
Auf die Idee für eine neue Programmiersprache war Stroustrup schon durch Erfahrungen mit der Programmiersprache [[Simula]] im Rahmen seiner Doktorarbeit an der &amp;#039;&amp;#039;Cambridge University&amp;#039;&amp;#039; gekommen. [[Simula]] erschien zwar geeignet für den Einsatz in großen Software-Projekten, die Struktur der Sprache erschwerte aber die für viele praktische Anwendungen erforderliche Erzeugung [[Effizienz (Informatik)|hocheffizienter Programme]]. Demgegenüber ließen sich effiziente Programme zwar mit der Sprache [[BCPL]] schreiben, für große Projekte war BCPL aber wiederum ungeeignet.&lt;br /&gt;
&lt;br /&gt;
Mit den Erfahrungen aus seiner Doktorarbeit erweiterte Stroustrup nun die Programmiersprache C um ein [[Klasse|Klassenkonzept]], für das die Sprache &amp;#039;&amp;#039;Simula-67&amp;#039;&amp;#039; das primäre Vorbild war. Die Wahl fiel auf die Programmiersprache [[C (Programmiersprache)|C]], weil C eine Mehrzwecksprache war, schnellen Code produzierte und einfach auf andere Plattformen zu [[Portierung|portieren]] war. Als dem Betriebssystem [[UNIX]] beiliegende Sprache hatte C außerdem eine nicht unerhebliche Verbreitung. Zunächst fügte er der Sprache Klassen (mit Datenkapselung) hinzu, dann abgeleitete Klassen, ein strengeres [[Typsystem]], Inline-Funktionen und Standard-Argumente.&lt;br /&gt;
&lt;br /&gt;
Während Stroustrup „&amp;#039;&amp;#039;C with Classes&amp;#039;&amp;#039;“ („&amp;#039;&amp;#039;C mit Klassen&amp;#039;&amp;#039;“) entwickelte (woraus später C++ wurde), schrieb er auch &amp;#039;&amp;#039;cfront&amp;#039;&amp;#039;, einen Compiler, der aus &amp;#039;&amp;#039;C with Classes&amp;#039;&amp;#039; zunächst C-Code als Zwischenresultat erzeugte. Die erste kommerzielle Version von &amp;#039;&amp;#039;cfront&amp;#039;&amp;#039; erschien im Oktober 1985.&lt;br /&gt;
&lt;br /&gt;
1982 wurde &amp;#039;&amp;#039;C with Classes&amp;#039;&amp;#039; in &amp;#039;&amp;#039;C++&amp;#039;&amp;#039; umbenannt. Erweiterungen darin waren: virtuelle Funktionen, Überladen von Funktionsnamen und Operatoren, Referenzen, Konstanten, änderbare Freispeicherverwaltung und eine verbesserte Typüberprüfung. Die Möglichkeit von Kommentaren, die an das Zeilenende gebunden sind, wurde wieder aus BCPL übernommen (&amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
1985 erschien die erste Version von C++, die eine wichtige Referenzversion darstellte, da die Sprache damals noch nicht standardisiert war. 1989 erschien die Version 2.0 von C++. Neu darin waren [[Objektorientierte Programmierung|Mehrfachvererbung]], abstrakte Klassen, statische Elementfunktionen, konstante Elementfunktionen und die Erweiterung des Schutzmodells um &amp;lt;tt&amp;gt;protected&amp;lt;/tt&amp;gt;. 1990 erschien das Buch &amp;#039;&amp;#039;The Annotated C++ Reference Manual&amp;#039;&amp;#039;, das als Grundlage für den darauffolgenden Standardisierungsprozess diente.&lt;br /&gt;
&lt;br /&gt;
Relativ spät wurden der Sprache &amp;#039;&amp;#039;Templates&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Ausnahmen&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Namensräume&amp;#039;&amp;#039;, neuartige &amp;#039;&amp;#039;Typumwandlungen&amp;#039;&amp;#039; und &amp;#039;&amp;#039;boolesche Typen&amp;#039;&amp;#039; hinzugefügt.&lt;br /&gt;
&lt;br /&gt;
Im Zuge der Weiterentwicklung der Sprache C++ entstand auch eine gegenüber C erweiterte Standardbibliothek. Erste Ergänzung war die &amp;#039;&amp;#039;Stream-I/O-Bibliothek&amp;#039;&amp;#039;, die Ersatz für traditionelle C-Funktionen wie zum Beispiel &amp;lt;code&amp;gt;printf()&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;scanf()&amp;lt;/code&amp;gt; bietet. Eine der wesentlichen Erweiterungen der Standardbibliothek kam später durch die Integration großer Teile der bei [[Hewlett-Packard]] entwickelten [[Standard Template Library]] (&amp;#039;&amp;#039;STL&amp;#039;&amp;#039;) hinzu.&lt;br /&gt;
&lt;br /&gt;
Nach jahrelanger Arbeit wurde schließlich 1998 die endgültige Fassung der Sprache C++ (ISO/IEC 14882:1998) genormt. 2003 wurde ISO/IEC 14882:2003 verabschiedet, eine Nachbesserung der Norm von 1998. Die [[#Weiterentwicklung der Programmiersprache C.2B.2B|nächste größere Überarbeitung]] der Sprache C++ erscheint voraussichtlich im Jahr 2009.&lt;br /&gt;
&lt;br /&gt;
Die vorhandenen Performance-Probleme der Sprache C++, die Rechenzeit und Speicherplatz betreffen, werden auf hohem Niveau zusammen mit Lösungen im Technical Report ISO/IEC TR 18015:2006 diskutiert. Das Dokument ist zum Download von ISO freigegeben.&lt;br /&gt;
&lt;br /&gt;
=== Der Name „C++“ ===&lt;br /&gt;
Der Name ist eine Wortschöpfung von Rick Mascitti und wurde zum ersten Mal im Dezember 1983 benutzt. Der Name kommt vom [[Inkrement und Dekrement|Inkrement]]-Operator „++“, der den Wert einer Variablen um eins erhöht.&lt;br /&gt;
&lt;br /&gt;
=== Weiterentwicklung der Programmiersprache C++ ===&lt;br /&gt;
Um mit den aktuellen Entwicklungen der sich schnell verändernden Computer-Technik Schritt zu halten, aber auch zur Ausbesserung bekannter Schwächen, erarbeitet das C++-Standardisierungskomitee derzeit die nächste größere Revision von C++, die inoffiziell mit &amp;#039;&amp;#039;&amp;#039;C++0x&amp;#039;&amp;#039;&amp;#039;&amp;lt;!--zahlenmäßiger Nachweis für &amp;quot;(manchmal auch &amp;#039;&amp;#039;&amp;#039;C++200x&amp;#039;&amp;#039;&amp;#039;)&amp;quot; - gibt es signifikante Vorkommen?--&amp;gt; abgekürzt wird, worin die Ziffernfolge eine grobe Einschätzung des möglichen Erscheinungstermins andeuten soll. Im November 2006 wurde der Zieltermin für die Fertigstellung auf das Jahr 2009 festgelegt und die Abkürzung &amp;#039;&amp;#039;&amp;#039;C++09&amp;#039;&amp;#039;&amp;#039; dafür eingefürt.&lt;br /&gt;
&lt;br /&gt;
Die vorrangigen Ziele für die Weiterentwicklung von C++ sind Verbesserungen im Hinblick auf die Systemprogrammierung sowie zur Erstellung von Programmbibliotheken. Außerdem soll die Erlernbarkeit der Sprache für Anfänger verbessert werden.&lt;br /&gt;
&lt;br /&gt;
==== Berücksichtigung aktueller technischer Gegebenheiten ====&lt;br /&gt;
C++ deckt einige typische Problemfelder der Programmierung noch nicht ausreichend ab, zum Beispiel die Unterstützung von Nebenläufigkeit ([[Thread]]s), deren Integration in C++, insbesondere für die Verwendung in Mehrprozessorumgebungen, eine Überarbeitung der Sprache unumgänglich macht. Durch Einführung eines Speichermodells sollen Garantien der Sprache für den nebenläufigen Betrieb festgelegt werden, um Mehrdeutigkeiten in der Abarbeitungsreihenfolge sowohl aufzulösen, als auch in bestimmten Fällen aufrechtzuerhalten und dadurch Spielraum für Optimierungsmöglichkeiten zu schaffen.&lt;br /&gt;
&lt;br /&gt;
==== Verbesserungen am Sprachkern ====&lt;br /&gt;
Zu den weitreichenderen Spracherweiterungen gehören die &amp;quot;Konzepte&amp;quot; (engl. &amp;#039;&amp;#039;concepts&amp;#039;&amp;#039;) zur Verbesserung der Handhabung von Templates, [[Typinferenz]] zur Ableitung von Ergebnistypen aus Ausdrücken und die R-Wert-Referenzen, mit deren Hilfe sich als Ergänzung zu dem bereits vorhandenen &amp;#039;&amp;#039;Kopieren&amp;#039;&amp;#039; von Objekten dann auch ein &amp;#039;&amp;#039;Verschieben&amp;#039;&amp;#039; realisieren lässt.&lt;br /&gt;
&lt;br /&gt;
==== Erweiterung der Programmbibliothek ====&lt;br /&gt;
Zu den am häufigsten geforderten Erweiterungen der C++-Bibliothek gehören [[TCP/IP]]-Funktionalität und Unterstützung für [[Dateisystem]]e.&lt;br /&gt;
&lt;br /&gt;
Im April 2006 gab das C++-Standardisierungskomitee den so genannten ersten technischen Report ([http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf TR1]) heraus, eine nichtnormative Ergänzung zur aktuell gültigen, 1998 definierten Bibliothek, mit der Erweiterungsvorschläge vor einer möglichen Übernahme in die C++-Standardbibliothek auf ihre Praxistauglichkeit hin untersucht werden sollen. Viele Compiler-Hersteller liefern den TR1 mit ihren Produkten aus.&lt;br /&gt;
&lt;br /&gt;
Enthalten sind im TR1 u.a. [[Regulärer Ausdruck|reguläre Ausdrücke]], verschiedene [[Intelligenter Zeiger|intelligente Zeiger]], ungeordnete assoziative [[Container]], eine Zufallszahlenbibliothek, Hilfsmittel für die C++-Metaprogrammierung, [[Tupel]] sowie [[Numerik|numerische]] und mathematische Bibliotheken. Die meisten dieser Erweiterungen stammen aus der [[Boost|Boost-Bibliothek]], woraus sie mit minimalen Änderungen übernommen wurden. Außerdem sind sämtliche Bibliothekserweiterungen der 1999 überarbeiteten Programmiersprache C (C99) in einer an C++ angepassten Form enthalten.&amp;lt;!-- C-Kompatibilität wird nach wie vor hochgehalten! --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit Ausnahme der numerischen und mathematischen Bibliotheken wurde die Übernahme aller TR1-Erweiterungen in die kommende Sprachnorm C++0x bereits vom C++-Standardisierungskomitee beschlossen. Eine weiterer Bibliothekszusatz namens TR2, mit Funktionalität für den nebenläufigen Betrieb (Threads), ist in Vorbereitung. &amp;lt;ref&amp;gt;[http://www.artima.com/cppsource/cpp0x.html Bjarne Stroustrup: &amp;#039;&amp;#039;A Brief Look at C++0x&amp;#039;&amp;#039; - 2. Januar 2006]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Cpp]]&lt;br /&gt;
{{Wikipedia|Seite=C++}}&lt;/div&gt;</summary>
		<author><name>EagleEye</name></author>
	</entry>
</feed>