CINXE.COM

C++ – Wikipedia

<!DOCTYPE html> <html class="client-nojs" lang="de" dir="ltr"> <head> <meta charset="UTF-8"> <title>C++ – Wikipedia</title> <script>(function(){var className="client-js";var cookie=document.cookie.match(/(?:^|; )dewikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":[",\t.",".\t,"],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],"wgRequestId":"a542633c-101d-4e27-8df0-87b92b1e466f","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"C++","wgTitle":"C++","wgCurRevisionId":249965104,"wgRevisionId":249965104,"wgArticleId":929,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":[ "Wikipedia:Defekte Weblinks/Ungeprüfte Archivlinks 2024-08","Wikipedia:Veraltet seit 2022","C++","Imperative Programmiersprache","Objektorientierte Programmiersprache","Programmiersprache mit einem ISO-Standard"],"wgPageViewLanguage":"de","wgPageContentLanguage":"de","wgPageContentModel":"wikitext","wgRelevantPageName":"C++","wgRelevantArticleId":929,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":true,"wgFlaggedRevsParams":{"tags":{"accuracy":{"levels":1}}},"wgStableRevisionId":249965104,"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"de","pageLanguageDir":"ltr","pageVariantFallbacks":"de"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":true,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":60000,"wgRelatedArticlesCompat":[], "wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":true,"wgVector2022LanguageInHeader":false,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q2407","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE={"ext.gadget.citeRef":"ready","ext.gadget.defaultPlainlinks":"ready","ext.gadget.dewikiCommonHide":"ready","ext.gadget.dewikiCommonLayout":"ready","ext.gadget.dewikiCommonStyle":"ready","ext.gadget.NavFrame":"ready","ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.cite.styles":"ready","ext.math.styles":"ready","ext.pygments":"ready","skins.vector.styles.legacy": "ready","ext.flaggedRevs.basic":"ready","mediawiki.codex.messagebox.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","codex-search-styles":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.cite.ux-enhancements","ext.pygments.view","site","mediawiki.page.ready","mediawiki.toc","skins.vector.legacy.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.flaggedRevs.advanced","ext.gadget.createNewSection","ext.gadget.WikiMiniAtlas","ext.gadget.OpenStreetMap","ext.gadget.CommonsDirekt","ext.gadget.donateLink","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.compactlinks","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.checkUser.clientHints","ext.quicksurveys.init", "ext.growthExperiments.SuggestedEditSession","wikibase.sidebar.tracking"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=de&amp;modules=codex-search-styles%7Cext.cite.styles%7Cext.flaggedRevs.basic%7Cext.math.styles%7Cext.pygments%2CwikimediaBadges%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cmediawiki.codex.messagebox.styles%7Cskins.vector.styles.legacy%7Cwikibase.client.init&amp;only=styles&amp;skin=vector"> <script async="" src="/w/load.php?lang=de&amp;modules=startup&amp;only=scripts&amp;raw=1&amp;skin=vector"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=de&amp;modules=ext.gadget.NavFrame%2CciteRef%2CdefaultPlainlinks%2CdewikiCommonHide%2CdewikiCommonLayout%2CdewikiCommonStyle&amp;only=styles&amp;skin=vector"> <link rel="stylesheet" href="/w/load.php?lang=de&amp;modules=site.styles&amp;only=styles&amp;skin=vector"> <meta name="generator" content="MediaWiki 1.44.0-wmf.5"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta property="og:image" content="https://upload.wikimedia.org/wikipedia/commons/thumb/1/18/ISO_C%2B%2B_Logo.svg/1200px-ISO_C%2B%2B_Logo.svg.png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="1349"> <meta property="og:image" content="https://upload.wikimedia.org/wikipedia/commons/thumb/1/18/ISO_C%2B%2B_Logo.svg/800px-ISO_C%2B%2B_Logo.svg.png"> <meta property="og:image:width" content="800"> <meta property="og:image:height" content="899"> <meta property="og:image" content="https://upload.wikimedia.org/wikipedia/commons/thumb/1/18/ISO_C%2B%2B_Logo.svg/640px-ISO_C%2B%2B_Logo.svg.png"> <meta property="og:image:width" content="640"> <meta property="og:image:height" content="719"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="C++ – Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//de.m.wikipedia.org/wiki/C%2B%2B"> <link rel="alternate" type="application/x-wiki" title="Seite bearbeiten" href="/w/index.php?title=C%2B%2B&amp;action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (de)"> <link rel="EditURI" type="application/rsd+xml" href="//de.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://de.wikipedia.org/wiki/C%2B%2B"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de"> <link rel="alternate" type="application/atom+xml" title="Atom-Feed für „Wikipedia“" href="/w/index.php?title=Spezial:Letzte_%C3%84nderungen&amp;feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="skin-vector-legacy mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-C rootpage-C skin-vector action-view"><div id="mw-page-base" class="noprint"></div> <div id="mw-head-base" class="noprint"></div> <div id="content" class="mw-body" role="main"> <a id="top"></a> <div id="siteNotice"><!-- CentralNotice --></div> <div class="mw-indicators"> </div> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">C++</span></h1> <div id="bodyContent" class="vector-body"> <div id="siteSub" class="noprint">aus Wikipedia, der freien Enzyklopädie</div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="contentSub2"></div> <div id="jump-to-nav"></div> <a class="mw-jump-link" href="#mw-head">Zur Navigation springen</a> <a class="mw-jump-link" href="#searchInput">Zur Suche springen</a> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><table class="float-right infobox toccolours toptextcells" style="font-size:90%; margin-top:0; width:21em;"> <tbody><tr> <th colspan="2" class="hintergrundfarbe6" style="font-size:larger;">C++ </th></tr> <tr> <td colspan="2" class="center"><span typeof="mw:File"><a href="/wiki/Datei:ISO_C%2B%2B_Logo.svg" class="mw-file-description"><img alt="C++-Logo" src="//upload.wikimedia.org/wikipedia/commons/thumb/1/18/ISO_C%2B%2B_Logo.svg/150px-ISO_C%2B%2B_Logo.svg.png" decoding="async" width="150" height="169" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/1/18/ISO_C%2B%2B_Logo.svg/225px-ISO_C%2B%2B_Logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/1/18/ISO_C%2B%2B_Logo.svg/300px-ISO_C%2B%2B_Logo.svg.png 2x" data-file-width="306" data-file-height="344" /></a></span> <p>Logo der Programmiersprache C++ </p> </td></tr> <tr> <th colspan="2" class="hintergrundfarbe5">Basisdaten </th></tr> <tr> <td><b><a href="/wiki/Programmierparadigma" title="Programmierparadigma">Paradigmen</a>:</b> </td> <td>Multiparadigmen (<a href="/wiki/Generische_Programmierung" title="Generische Programmierung">generisch</a>, <a href="/wiki/Imperative_Programmierung" title="Imperative Programmierung">imperativ</a>, <a href="/wiki/Objektorientierte_Programmierung" title="Objektorientierte Programmierung">objektorientiert</a>, <a href="/wiki/Prozedurale_Programmierung" title="Prozedurale Programmierung">prozedural</a>, <a href="/wiki/Strukturierte_Programmierung" title="Strukturierte Programmierung">strukturiert</a>, <a href="/wiki/Funktionale_Programmierung" title="Funktionale Programmierung">funktional</a>) </td></tr> <tr> <td><b>Erscheinungsjahr:</b> </td> <td><span class="wikidata-content">1983</span> </td></tr> <tr> <td><b>Designer:</b> </td> <td><span class="wikidata-content"><a href="/wiki/Bjarne_Stroustrup" title="Bjarne Stroustrup">Bjarne Stroustrup</a></span> </td></tr> <tr> <td><b>Entwickler:</b> </td> <td><span class="wikidata-content"><a href="/wiki/Bjarne_Stroustrup" title="Bjarne Stroustrup">Bjarne Stroustrup</a></span> </td></tr> <tr> <td><b>Aktuelle&#160;<a href="/wiki/Version_(Software)" title="Version (Software)">Version</a></b> </td> <td class="wikidata-content" style="white-space:nowrap;">C++23<sup id="cite_ref-_a0b4258a7b1b1d39_1-0" class="reference"><a href="#cite_note-_a0b4258a7b1b1d39-1"><span class="cite-bracket">&#91;</span>1<span class="cite-bracket">&#93;</span></a></sup>&#160;<small>(19. Oktober 2024)</small> </td></tr> <tr> <td><b>Aktuelle&#160;Vorabversion:</b> </td> <td style="white-space:nowrap;">C++ 23 &#160;<small>()</small> </td></tr> <tr> <td><b><a href="/wiki/Typisierung_(Informatik)" title="Typisierung (Informatik)">Typisierung</a>:</b> </td> <td><a href="/wiki/Statische_Typisierung" title="Statische Typisierung">statisch (dynamische Typprüfung möglich)</a>, implizit, <a href="/wiki/Typisierung_(Informatik)" title="Typisierung (Informatik)">stark</a> </td></tr> <tr> <td><b>Wichtige <a href="/wiki/Implementierung" title="Implementierung">Implementierungen</a>:</b> </td> <td><a href="/wiki/C%2B%2BBuilder" title="C++Builder">C++Builder</a>, <a href="/wiki/GNU_Compiler_Collection" title="GNU Compiler Collection">GCC</a>, <a href="/wiki/Microsoft_Visual_C%2B%2B" class="mw-redirect" title="Microsoft Visual C++">MS Visual C++</a>, <a href="/wiki/Intel_C%2B%2B_Compiler" title="Intel C++ Compiler">Intel C++ Compiler</a>, <a href="/wiki/Clang" title="Clang">Clang/LLVM</a> </td></tr> <tr> <td><b>Standardisierungen:</b> </td> <td>ISO/IEC 14882:1998,<br />ISO/IEC 14882:2003,<br />ISO/IEC TR 19768:2007,<br />ISO/IEC 14882:2011,<br />ISO/IEC 14882:2014<sup id="cite_ref-ISO14882-2014_2-0" class="reference"><a href="#cite_note-ISO14882-2014-2"><span class="cite-bracket">&#91;</span>2<span class="cite-bracket">&#93;</span></a></sup>,<br />ISO/IEC 14882:2017<sup id="cite_ref-ISO14882-2017_3-0" class="reference"><a href="#cite_note-ISO14882-2017-3"><span class="cite-bracket">&#91;</span>3<span class="cite-bracket">&#93;</span></a></sup>,<br />ISO/IEC 14882:2020<sup id="cite_ref-ISO14882-2020_4-0" class="reference"><a href="#cite_note-ISO14882-2020-4"><span class="cite-bracket">&#91;</span>4<span class="cite-bracket">&#93;</span></a></sup> </td></tr> <tr> <td><b>Beeinflusst von:</b> </td> <td><span class="wikidata-content"><a href="/wiki/C_(Programmiersprache)" title="C (Programmiersprache)">C</a>,&#32;<a href="/wiki/Simula" title="Simula">Simula</a>,&#32;<a href="/wiki/Algol_68" title="Algol 68">Algol 68</a>,&#32;<a href="/wiki/CLU_(Programmiersprache)" title="CLU (Programmiersprache)">CLU</a>,&#32;<a href="/wiki/ML_(Programmiersprache)" title="ML (Programmiersprache)">Meta Language</a>,&#32;<a href="/wiki/Ada_(Programmiersprache)" title="Ada (Programmiersprache)">Ada</a></span> </td></tr> <tr> <td><b>Beeinflusste:</b> </td> <td><a href="/wiki/Ada_95" class="mw-redirect" title="Ada 95">Ada 95</a>, <a href="/w/index.php?title=Chapel_(Programmiersprache)&amp;action=edit&amp;redlink=1" class="new" title="Chapel (Programmiersprache) (Seite nicht vorhanden)">Chapel</a>, <a href="/wiki/C-Sharp" title="C-Sharp">C#</a>, <a href="/wiki/D_(Programmiersprache)" title="D (Programmiersprache)">D</a>, <a href="/wiki/Go_(Programmiersprache)" title="Go (Programmiersprache)">Go</a>, <a href="/wiki/Java_(Programmiersprache)" title="Java (Programmiersprache)">Java</a>, <a href="/w/index.php?title=Nim_(Programmiersprache)&amp;action=edit&amp;redlink=1" class="new" title="Nim (Programmiersprache) (Seite nicht vorhanden)">Nim</a>, <a href="/wiki/Perl_(Programmiersprache)" title="Perl (Programmiersprache)">Perl</a>, <a href="/wiki/PHP" title="PHP">PHP</a>, <a href="/wiki/Python_(Programmiersprache)" title="Python (Programmiersprache)">Python</a><sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">&#91;</span>5<span class="cite-bracket">&#93;</span></a></sup>, <a href="/wiki/Vala_(Programmiersprache)" title="Vala (Programmiersprache)">Vala</a>, <a href="/wiki/Rust_(Programmiersprache)" title="Rust (Programmiersprache)">Rust</a>, <a href="/wiki/Seed7" title="Seed7">Seed7</a> </td></tr> <tr> <td colspan="2" class="hintergrundfarbe5" style="text-align:center;"><a rel="nofollow" class="external text" href="https://isocpp.org/">isocpp.org</a> </td></tr></tbody></table> <p><b>C++</b> ist eine von der <a href="/wiki/Internationale_Organisation_f%C3%BCr_Normung" title="Internationale Organisation für Normung">ISO</a> genormte <a href="/wiki/Programmiersprache" title="Programmiersprache">Programmiersprache</a>. Sie wurde ab 1979 von <a href="/wiki/Bjarne_Stroustrup" title="Bjarne Stroustrup">Bjarne Stroustrup</a> bei <a href="/wiki/AT%26T" title="AT&amp;T">AT&amp;T</a> als Erweiterung der Programmiersprache <a href="/wiki/C_(Programmiersprache)" title="C (Programmiersprache)">C</a> entwickelt. C++ ermöglicht sowohl die <a href="/wiki/Effizienz_(Informatik)" title="Effizienz (Informatik)">effiziente</a> und maschinennahe Programmierung als auch eine Programmierung auf hohem Abstraktionsniveau. Der Standard definiert auch eine Standardbibliothek, zu der verschiedene Implementierungen existieren. </p> <div id="toc" class="toc" role="navigation" aria-labelledby="mw-toc-heading"><input type="checkbox" role="button" id="toctogglecheckbox" class="toctogglecheckbox" style="display:none" /><div class="toctitle" lang="de" dir="ltr"><h2 id="mw-toc-heading">Inhaltsverzeichnis</h2><span class="toctogglespan"><label class="toctogglelabel" for="toctogglecheckbox"></label></span></div> <ul> <li class="toclevel-1 tocsection-1"><a href="#Einsatzgebiete"><span class="tocnumber">1</span> <span class="toctext">Einsatzgebiete</span></a> <ul> <li class="toclevel-2 tocsection-2"><a href="#Systemprogrammierung"><span class="tocnumber">1.1</span> <span class="toctext">Systemprogrammierung</span></a></li> <li class="toclevel-2 tocsection-3"><a href="#Anwendungsprogrammierung"><span class="tocnumber">1.2</span> <span class="toctext">Anwendungsprogrammierung</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-4"><a href="#Eigenschaften"><span class="tocnumber">2</span> <span class="toctext">Eigenschaften</span></a> <ul> <li class="toclevel-2 tocsection-5"><a href="#Sprachdesign"><span class="tocnumber">2.1</span> <span class="toctext">Sprachdesign</span></a> <ul> <li class="toclevel-3 tocsection-6"><a href="#Ressourcenverwaltung"><span class="tocnumber">2.1.1</span> <span class="toctext">Ressourcenverwaltung</span></a></li> <li class="toclevel-3 tocsection-7"><a href="#Unvollständige_Objektorientierung"><span class="tocnumber">2.1.2</span> <span class="toctext">Unvollständige Objektorientierung</span></a> <ul> <li class="toclevel-4 tocsection-8"><a href="#Sichtbarkeit_privater_Elemente"><span class="tocnumber">2.1.2.1</span> <span class="toctext">Sichtbarkeit privater Elemente</span></a></li> <li class="toclevel-4 tocsection-9"><a href="#Unvollständige_Kapselung"><span class="tocnumber">2.1.2.2</span> <span class="toctext">Unvollständige Kapselung</span></a></li> </ul> </li> <li class="toclevel-3 tocsection-10"><a href="#Undefiniertes_Verhalten"><span class="tocnumber">2.1.3</span> <span class="toctext">Undefiniertes Verhalten</span></a></li> </ul> </li> <li class="toclevel-2 tocsection-11"><a href="#Kompatibilität_mit_C"><span class="tocnumber">2.2</span> <span class="toctext">Kompatibilität mit C</span></a></li> <li class="toclevel-2 tocsection-12"><a href="#Sprachmerkmale_im_Detail"><span class="tocnumber">2.3</span> <span class="toctext">Sprachmerkmale im Detail</span></a></li> <li class="toclevel-2 tocsection-13"><a href="#Programmbeispiel"><span class="tocnumber">2.4</span> <span class="toctext">Programmbeispiel</span></a></li> <li class="toclevel-2 tocsection-14"><a href="#Dateiendungen"><span class="tocnumber">2.5</span> <span class="toctext">Dateiendungen</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-15"><a href="#Umsetzung"><span class="tocnumber">3</span> <span class="toctext">Umsetzung</span></a> <ul> <li class="toclevel-2 tocsection-16"><a href="#C++-Compiler"><span class="tocnumber">3.1</span> <span class="toctext">C++-Compiler</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-17"><a href="#Integrierte_Entwicklungsumgebungen"><span class="tocnumber">4</span> <span class="toctext">Integrierte Entwicklungsumgebungen</span></a> <ul> <li class="toclevel-2 tocsection-18"><a href="#Freie_Entwicklungsumgebungen"><span class="tocnumber">4.1</span> <span class="toctext">Freie Entwicklungsumgebungen</span></a></li> <li class="toclevel-2 tocsection-19"><a href="#Proprietäre_Entwicklungsumgebungen"><span class="tocnumber">4.2</span> <span class="toctext">Proprietäre Entwicklungsumgebungen</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-20"><a href="#Vergleich_mit_anderen_Sprachen"><span class="tocnumber">5</span> <span class="toctext">Vergleich mit anderen Sprachen</span></a> <ul> <li class="toclevel-2 tocsection-21"><a href="#Objective-C"><span class="tocnumber">5.1</span> <span class="toctext">Objective-C</span></a></li> <li class="toclevel-2 tocsection-22"><a href="#Java_und_C#"><span class="tocnumber">5.2</span> <span class="toctext">Java und C#</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-23"><a href="#Entstehung_und_Weiterentwicklung"><span class="tocnumber">6</span> <span class="toctext">Entstehung und Weiterentwicklung</span></a> <ul> <li class="toclevel-2 tocsection-24"><a href="#Entstehungsgeschichte"><span class="tocnumber">6.1</span> <span class="toctext">Entstehungsgeschichte</span></a> <ul> <li class="toclevel-3 tocsection-25"><a href="#Standardisierung"><span class="tocnumber">6.1.1</span> <span class="toctext">Standardisierung</span></a></li> </ul> </li> <li class="toclevel-2 tocsection-26"><a href="#Weiterentwicklung_der_Programmiersprache_C++_nach_2005"><span class="tocnumber">6.2</span> <span class="toctext">Weiterentwicklung der Programmiersprache C++ nach 2005</span></a> <ul> <li class="toclevel-3 tocsection-27"><a href="#Verbesserungen_am_Sprachkern"><span class="tocnumber">6.2.1</span> <span class="toctext">Verbesserungen am Sprachkern</span></a></li> <li class="toclevel-3 tocsection-28"><a href="#Erweiterung_der_Programmbibliothek"><span class="tocnumber">6.2.2</span> <span class="toctext">Erweiterung der Programmbibliothek</span></a></li> <li class="toclevel-3 tocsection-29"><a href="#C++11"><span class="tocnumber">6.2.3</span> <span class="toctext">C++11</span></a></li> <li class="toclevel-3 tocsection-30"><a href="#C++14"><span class="tocnumber">6.2.4</span> <span class="toctext">C++14</span></a></li> <li class="toclevel-3 tocsection-31"><a href="#C++17"><span class="tocnumber">6.2.5</span> <span class="toctext">C++17</span></a></li> <li class="toclevel-3 tocsection-32"><a href="#C++20"><span class="tocnumber">6.2.6</span> <span class="toctext">C++20</span></a></li> <li class="toclevel-3 tocsection-33"><a href="#C++23/26"><span class="tocnumber">6.2.7</span> <span class="toctext">C++23/26</span></a></li> </ul> </li> <li class="toclevel-2 tocsection-34"><a href="#Der_Name_„C++“"><span class="tocnumber">6.3</span> <span class="toctext">Der Name „C++“</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-35"><a href="#Kritik"><span class="tocnumber">7</span> <span class="toctext">Kritik</span></a></li> <li class="toclevel-1 tocsection-36"><a href="#Siehe_auch"><span class="tocnumber">8</span> <span class="toctext">Siehe auch</span></a></li> <li class="toclevel-1 tocsection-37"><a href="#Literatur"><span class="tocnumber">9</span> <span class="toctext">Literatur</span></a></li> <li class="toclevel-1 tocsection-38"><a href="#Weblinks"><span class="tocnumber">10</span> <span class="toctext">Weblinks</span></a></li> <li class="toclevel-1 tocsection-39"><a href="#Einzelnachweise"><span class="tocnumber">11</span> <span class="toctext">Einzelnachweise</span></a></li> </ul> </div> <div class="mw-heading mw-heading2"><h2 id="Einsatzgebiete">Einsatzgebiete</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit&amp;section=1" title="Abschnitt bearbeiten: Einsatzgebiete" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=C%2B%2B&amp;action=edit&amp;section=1" title="Quellcode des Abschnitts bearbeiten: Einsatzgebiete"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>C++ wird sowohl in der <a href="/wiki/Systemprogrammierung" title="Systemprogrammierung">Systemprogrammierung</a> als auch in der <a href="/wiki/Anwendungsprogramm" class="mw-redirect" title="Anwendungsprogramm">Anwendungsprogrammierung</a> eingesetzt und gehört in beiden Bereichen zu den verbreitetsten Programmiersprachen.<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">&#91;</span>6<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Systemprogrammierung">Systemprogrammierung</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit&amp;section=2" title="Abschnitt bearbeiten: Systemprogrammierung" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=C%2B%2B&amp;action=edit&amp;section=2" title="Quellcode des Abschnitts bearbeiten: Systemprogrammierung"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Typische Anwendungsfelder in der Systemprogrammierung sind <a href="/wiki/Betriebssystem" title="Betriebssystem">Betriebssysteme</a>, <a href="/wiki/Eingebettetes_System" title="Eingebettetes System">eingebettete Systeme</a>, <a href="/wiki/Virtuelle_Maschine" title="Virtuelle Maschine">virtuelle Maschinen</a>, <a href="/wiki/Ger%C3%A4tetreiber" title="Gerätetreiber">Treiber</a> und <a href="/wiki/Digitaler_Signalprozessor" title="Digitaler Signalprozessor">Signalprozessoren</a>. C++ nimmt hier oft den Platz ein, der früher ausschließlich <a href="/wiki/Assemblersprache" title="Assemblersprache">Assemblersprachen</a> und der Programmiersprache <a href="/wiki/C_(Programmiersprache)" title="C (Programmiersprache)">C</a> vorbehalten war. </p> <div class="mw-heading mw-heading3"><h3 id="Anwendungsprogrammierung">Anwendungsprogrammierung</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit&amp;section=3" title="Abschnitt bearbeiten: Anwendungsprogrammierung" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=C%2B%2B&amp;action=edit&amp;section=3" title="Quellcode des Abschnitts bearbeiten: Anwendungsprogrammierung"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Bei der Anwendungsprogrammierung kommt C++ vor allem dort zum Einsatz, wo hohe Anforderungen an die Effizienz gestellt werden, um durch technische Rahmenbedingungen vorgegebene Leistungsgrenzen möglichst gut auszunutzen. Ab dem Jahr 2000 wurde C++ aus der Domäne der Anwendungsprogrammierung von den Sprachen <a href="/wiki/Java_(Programmiersprache)" title="Java (Programmiersprache)">Java</a> und <a href="/wiki/C-Sharp" title="C-Sharp">C#</a> zurückgedrängt. </p> <div class="mw-heading mw-heading2"><h2 id="Eigenschaften">Eigenschaften</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit&amp;section=4" title="Abschnitt bearbeiten: Eigenschaften" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=C%2B%2B&amp;action=edit&amp;section=4" title="Quellcode des Abschnitts bearbeiten: Eigenschaften"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading3"><h3 id="Sprachdesign">Sprachdesign</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit&amp;section=5" title="Abschnitt bearbeiten: Sprachdesign" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=C%2B%2B&amp;action=edit&amp;section=5" title="Quellcode des Abschnitts bearbeiten: Sprachdesign"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Die Sprache C++ verwendet nur etwa 60 Schlüsselwörter („Sprachkern“), manche werden in verschiedenen Kontexten (<code>static</code>, <code>default</code>) mehrfach verwendet. Ihre eigentliche Funktionalität erhält sie, ähnlich wie auch die Sprache C, durch die <a href="/wiki/C%2B%2B-Standardbibliothek" title="C++-Standardbibliothek">C++-Standardbibliothek</a>, die der Sprache fehlende wichtige Funktionalitäten beibringt (Arrays, Vektoren, Listen, …) wie auch die Verbindung zum Betriebssystem herstellt (iostream, fopen, exit, …). Je nach Einsatzgebiet kommen weitere Bibliotheken und Frameworks dazu. C++ legt einen Schwerpunkt auf die Sprachmittel zur Entwicklung von Bibliotheken. Dadurch favorisiert es verallgemeinerte Mechanismen für typische Problemstellungen und besitzt kaum in die Sprache integrierte Einzellösungen. </p><p>Eine der Stärken von C++ ist 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 <a href="/wiki/C%2B%2B-Metaprogrammierung" title="C++-Metaprogrammierung">Template-Metaprogrammierung</a> zum Zuge: Eine Technik, die eine nahezu kompromisslose Verbindung von Effizienz und Abstraktion erlaubt. </p><p>Einige Design-Entscheidungen werden allerdings auch häufig kritisiert: </p> <div class="mw-heading mw-heading4"><h4 id="Ressourcenverwaltung">Ressourcenverwaltung</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit&amp;section=6" title="Abschnitt bearbeiten: Ressourcenverwaltung" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=C%2B%2B&amp;action=edit&amp;section=6" title="Quellcode des Abschnitts bearbeiten: Ressourcenverwaltung"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="hintergrundfarbe1 rahmenfarbe1 navigation-not-searchable noprint" style="border-style: solid; border-width: 1px; clear: left; margin-bottom:1em; margin-top:1em; padding: 0.25em; overflow: hidden; word-break: break-word; word-wrap: break-word;" id="Vorlage_Veraltet2022"><div class="noviewer noresize" style="display: table-cell; padding-bottom: 0.2em; padding-left: 0.25em; padding-right: 1em; padding-top: 0.2em; vertical-align: middle;" aria-hidden="true" role="presentation"><span typeof="mw:File"><a href="/wiki/Diskussion:C%2B%2B" title="Diskussion:C++"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/20/QSicon_rot_Uhr.svg/24px-QSicon_rot_Uhr.svg.png" decoding="async" width="24" height="24" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/20/QSicon_rot_Uhr.svg/36px-QSicon_rot_Uhr.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/20/QSicon_rot_Uhr.svg/48px-QSicon_rot_Uhr.svg.png 2x" data-file-width="24" data-file-height="24" /></a></span></div> <div style="display: table-cell; vertical-align: middle; width: 100%;"> <div> <span style="font-style:normal;">Folgende Teile dieses Artikels scheinen seit 2022 <a href="/wiki/Wikipedia:WikiProjekt_Ereignisse/Vergangenheit" title="Wikipedia:WikiProjekt Ereignisse/Vergangenheit">nicht mehr aktuell</a> zu sein</span><span style="font-style:normal;">&#58;</span> <div style="font-style:italic;">Aussagen zur Garbage Collection nicht aktuell (vgl. P2186R2)</div> <span style="font-style:normal;">Bitte hilf uns dabei, die fehlenden Informationen zu <a href="/wiki/Wikipedia:Wie_schreibe_ich_gute_Artikel" title="Wikipedia:Wie schreibe ich gute Artikel">recherchieren</a> und <a class="external text" href="https://de.wikipedia.org/w/index.php?title=C%2B%2B&amp;action=edit">einzufügen</a>.</span></div> </div></div><div style="display:none" class="noexcerpt"><a href="/wiki/Wikipedia:WikiProjekt_Ereignisse/Vergangenheit/fehlend" class="mw-redirect" title="Wikipedia:WikiProjekt Ereignisse/Vergangenheit/fehlend">Wikipedia:WikiProjekt Ereignisse/Vergangenheit/fehlend</a></div> <p>C++ hat keine <a href="/wiki/Garbage_Collection" title="Garbage Collection">Garbage Collection</a>, allerdings gibt es Bestrebungen, Garbage-Collection durch Bibliotheken oder durch Aufnahme in den Sprachstandard zu ermöglichen.<sup id="cite_ref-GarbageCollection_7-0" class="reference"><a href="#cite_note-GarbageCollection-7"><span class="cite-bracket">&#91;</span>7<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">&#91;</span>8<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">&#91;</span>9<span class="cite-bracket">&#93;</span></a></sup> Siehe auch <a href="/wiki/Boehm-Speicherbereinigung" title="Boehm-Speicherbereinigung">Boehm-Speicherbereinigung</a>. </p><p>Es ist möglich, die Speicherverwaltung von C (malloc/realloc/free) zu verwenden; zur Implementierung von Low-Level-Funktionen in Bibliotheken wie der C++-<a href="/wiki/Standardbibliothek" title="Standardbibliothek">Standardbibliothek</a> ist dies zum Zugriff auf C Bibliotheksfunktionen notwendig. In allgemeinem C++-Code wird hiervon jedoch dringend abgeraten.<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">&#91;</span>10<span class="cite-bracket">&#93;</span></a></sup> Stattdessen ist es dort üblich, die Speicherverwaltung von der <a href="/wiki/C%2B%2B-Standardbibliothek" title="C++-Standardbibliothek">C++-Standardbibliothek</a> übernehmen zu lassen, indem man die angebotenen Containerklassen verwendet. </p><p>Andere Ressourcen, z.&#160;B. <a href="/wiki/Handle" title="Handle">Dateihandles</a> oder <a href="/wiki/Socket_(Software)" title="Socket (Software)">Netzwerksockets</a> werden in C++ üblicherweise in eigenen Klassen mit dem Prinzip <a href="/wiki/RAII" class="mw-redirect" title="RAII">RAII</a> verwaltet, um das automatische Aufräumen nach der Verwendung sicherzustellen. Dies ist konzeptionell in anderen Programmiersprachen oft mit der Implementierung spezieller Basisklassen/Schnittstellen gestaltet – wie z.&#160;B. „AutoCloseable“ in Java oder „IDisposable“ in C#. In anderen Programmiersprachen benötigen diese nicht verwalteten Ressourcen oft ein spezielles Handling (z.&#160;B. „using“-Schlüsselwort in C#), um die Lebenszeit dieser Objekte ausnahmesicher in Verbindung mit dem Garbage Collector zu verwalten. Die RAII-basierten Implementierungen in C++ sind konzeptbedingt nicht anfällig bezüglich dieser Probleme, da Speicher in C++ keinen Sonderstatus als Ressource hat. Eine korrekte Implementierung der Objektlebenszeit garantiert hier die Freigabe aller Ressourcen. </p><p>Für Verweise auf Objekte werden üblicherweise Referenzen verwendet, solange der Verweis das Objekt nicht besitzen soll – z.&#160;B. als Parameter bei Funktionsaufrufen. Um den Besitz von dynamisch allokierten Objekten zu verwalten, werden üblicherweise <a href="/wiki/Smart_Pointer" class="mw-redirect" title="Smart Pointer">Smart Pointer</a> eingesetzt, welche die Destruktion und Speicherfreigabe übernehmen. Die Standardbibliothek unterscheidet hier strikt den Besitz. Während beim <i>unique_ptr</i> nur dieser Zeiger den Speicher besitzt, kann der Besitz des Speichers beim <i>shared_ptr</i> zwischen mehreren Zeigerinstanzen geteilt werden. Technisch realisiert ist dies beim <i>shared_ptr</i> meist mit <a href="/wiki/Reference_counting" class="mw-redirect" title="Reference counting">Reference counting</a>.<sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">&#91;</span>11<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading4"><h4 id="Unvollständige_Objektorientierung"><span id="Unvollst.C3.A4ndige_Objektorientierung"></span>Unvollständige Objektorientierung</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit&amp;section=7" title="Abschnitt bearbeiten: Unvollständige Objektorientierung" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=C%2B%2B&amp;action=edit&amp;section=7" title="Quellcode des Abschnitts bearbeiten: Unvollständige Objektorientierung"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading5"><h5 id="Sichtbarkeit_privater_Elemente">Sichtbarkeit privater Elemente</h5><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit&amp;section=8" title="Abschnitt bearbeiten: Sichtbarkeit privater Elemente" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=C%2B%2B&amp;action=edit&amp;section=8" title="Quellcode des Abschnitts bearbeiten: Sichtbarkeit privater Elemente"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>In C++ gehören private Eigenschaften (Variablen und Methoden) normalerweise mit zur Schnittstelle, die in der Header-Datei veröffentlicht ist. Dadurch entstehen zur <a href="/wiki/Compilezeit" class="mw-redirect" title="Compilezeit">Compilezeit</a> und zur <a href="/wiki/Laufzeit_(Informatik)" title="Laufzeit (Informatik)">Laufzeit</a> Abhängigkeiten der Objekte zu den Stellen, die sie verwenden. </p><p>Diese Abhängigkeiten können durch bestimmte Konstruktionen, wie dem <i>pimpl-Idiom</i> (<i><span lang="en">pointer to implementation idiom</span></i>), vermieden werden. Dabei werden die privaten Felder der Klasse (<i>example_class</i>) in eine private, vorwärts-deklarierte Hilfsklasse verschoben, und ein Zeiger auf ein Objekt dieser Hilfsklasse (<i>example_class::impl * impl_ptr</i>) bleibt in der eigentlichen Klasse. Die Definition der implementierenden Klasse findet bei der Implementierung der öffentlichen Klasse statt und ist damit für den Verwender der Klasse (der nur die Header-Datei kennt) unsichtbar. Dadurch, dass die Hilfsklasse nur durch einen Zeiger referenziert wird, bleiben alle Quelltextänderungen an privaten Feldern transparent und die <a href="/wiki/Bin%C3%A4rkompatibilit%C3%A4t" class="mw-redirect" title="Binärkompatibilität">Binärkompatibilität</a> wird erhalten.<sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">&#91;</span>12<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading5"><h5 id="Unvollständige_Kapselung"><span id="Unvollst.C3.A4ndige_Kapselung"></span>Unvollständige Kapselung</h5><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit&amp;section=9" title="Abschnitt bearbeiten: Unvollständige Kapselung" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=C%2B%2B&amp;action=edit&amp;section=9" title="Quellcode des Abschnitts bearbeiten: Unvollständige Kapselung"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>In C++ sind die Speicherbereiche der einzelnen Objekte zur Laufzeit nicht vor (absichtlichen oder versehentlichen) gegenseitigen Änderungen geschützt. </p> <div class="mw-heading mw-heading4"><h4 id="Undefiniertes_Verhalten">Undefiniertes Verhalten</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit&amp;section=10" title="Abschnitt bearbeiten: Undefiniertes Verhalten" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=C%2B%2B&amp;action=edit&amp;section=10" title="Quellcode des Abschnitts bearbeiten: Undefiniertes Verhalten"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Das Verhalten von einigen Sprachkonstrukten ist nicht definiert. Dies bedeutet, dass der Standard weder vorgibt noch empfiehlt, was in einem solchen Fall passiert. Die Auswirkungen reichen von Implementierungsabhängigkeit (d.&#160;h. je nach Zielrechner und Compiler kann sich das Konstrukt unterschiedlich verhalten) über unsinnige Ergebnisse oder Programmabstürze bis hin zu Sicherheitslücken. Einige dieser Freiheiten des <a href="/wiki/Compiler" title="Compiler">Compilers</a> lassen zusätzliche Optimierungen des Codes zu. </p><p>Es kommt zu unterschiedlichem Verhalten bei </p> <ul><li>verschiedenen Compilern</li> <li>verschiedenen Compiler-Versionen</li> <li>verschiedener Architektur (<a href="/wiki/Arm-Architektur" title="Arm-Architektur">ARM</a>, <a href="/wiki/X86-Prozessor" title="X86-Prozessor">x86</a>, <a href="/wiki/X64" title="X64">x64</a>)</li> <li>verschiedenen Optimierungseinstellungen (Debug, Release, Optimierung)</li> <li>ausgewählter <a href="/wiki/Befehlssatz" title="Befehlssatz">Befehlssatz</a>, Aufrufkonventionen, u.&#160;v.&#160;a.&#160;m.</li></ul> <p>Quellcode mit Codepassagen mit undefiniertem Verhalten kann nach der Kompilierung unerwartetes und absurd erscheinenden Verhalten zeigen. So werden zu spät durchgeführte Überprüfungen wegoptimiert oder Schleifen, die auf einen ungültigen Index eines Arrays zugreifen, durch leere Endlosschleifen ersetzt.<sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">&#91;</span>13<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">&#91;</span>14<span class="cite-bracket">&#93;</span></a></sup> </p><p>Wichtig für das Verständnis von undefiniertem Verhalten ist insbesondere, dass niemals nur eine einzelne Operation ungültig ist, sondern das <i>gesamte Programm</i> ungültig wird und kein wohlgeformtes C++ mehr darstellt. Der Grund ist, dass manche Arten von „undefiniertem Verhalten“ Auswirkungen auf ganz andere, auch in sich korrekte, Programmteile haben und deren Verhalten beeinflussen können, beispielsweise bei Pufferüberläufen oder der unbeabsichtigten Änderung von Prozessor-Flags, die durch eine ungültige arithmetische Operation verursacht wurde und die nachfolgenden Berechnungen beeinflussen kann. </p><p>Beispiele für <i>undefiniertes Verhalten</i>: </p> <ul><li>Überlauf von vorzeichenbehafteten Ganzzahlen (auch z.&#160;B. bei Umwandlung von <code>unsigned int</code> nach <code>int</code>)</li> <li><a href="/wiki/Nullzeiger" class="mw-redirect" title="Nullzeiger">Nullzeiger</a>-Dereferenzierungen</li> <li>Arrayzugriffe mit ungültigem Index</li> <li><a href="/wiki/Bitweiser_Operator#Bitweise_Verschiebungen" title="Bitweiser Operator">Schiebeoperationen</a> mit einer Schiebeweite, die negativ oder größergleich der Zahl der Bits des zu schiebenden Typs ist</li> <li>Division durch null mit integralen Datentypen</li> <li>Weglassen des <code>return</code>-Statements in Funktionen mit Rückgabewert (die Hauptfunktion <code>main</code> bildet die einzige Ausnahme)</li> <li>Ein Nebeneffekt ändert eine Variable, die mehrmals in dem Ausdruck (<code>v[i] = i++;</code>) oder in der <a href="/wiki/Parameter_(Informatik)" title="Parameter (Informatik)">Argumentliste</a> (<code>f(i, i++);</code>) vorkommt (die Auswertungsreihenfolge von Teilausdrücken und Funktionsargumenten ist nicht festgelegt)</li></ul> <p>Einerseits ist das hieraus resultierende nichtdeterministische Laufzeitverhalten, insbesondere bei kleinen Änderungen der Plattform, mindestens als Risiko, in der Praxis oft aber als klarer Nachteil einzustufen. Andererseits werden hierdurch schnellere Programme ermöglicht, da Gültigkeitsüberprüfungen weggelassen werden können und der Compiler zudem oft Programmteile stärker optimieren kann, indem er Randfälle als per Definition ausgeschlossen ignoriert. </p><p>Ein oft nicht wahrgenommener Vorteil ist darüber hinaus, dass dadurch, dass undefiniertes Verhalten praktisch nur in äußerst fragwürdigen Konstrukten auftritt, die aber nicht zwingend während des Kompilierens feststellbar sind, unsemantischer oder anderweitig suboptimaler Code gewissermaßen verboten wird. </p><p>Beispielsweise besteht eine illegale Art zu prüfen, ob die Summe zweier positiver Ganzzahlen <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle a}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>a</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle a}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/ffd2487510aa438433a2579450ab2b3d557e5edc" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.23ex; height:1.676ex;" alt="{\displaystyle a}"></span> und <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle b}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>b</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle b}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/f11423fbb2e967f986e36804a8ae4271734917c3" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:0.998ex; height:2.176ex;" alt="{\displaystyle b}"></span> vom Typ ‚int‘ verlustfrei wieder in einem ‚int‘ abgebildet werden kann, daraus, zu schauen, ob ihre Summe größer 0 ist (bei Überlauf entsteht auf den meisten Computern durch die <a href="/wiki/Zweierkomplement" title="Zweierkomplement">Zweierkomplement</a>-Arithmetik eine negative Zahl). Eine derartige Überprüfung ist allerdings aus mathematischer Sicht nicht besonders sinnvoll. Eine bessere (semantischere) Herangehensweise ist hier, die eigentliche Frage, ob <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle a+b\leq \mathrm {INT\_MAX} }"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>a</mi> <mo>+</mo> <mi>b</mi> <mo>&#x2264;<!-- ≤ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="normal">I</mi> <mi mathvariant="normal">N</mi> <mi mathvariant="normal">T</mi> <mi mathvariant="normal">&#x005F;<!-- _ --></mi> <mi mathvariant="normal">M</mi> <mi mathvariant="normal">A</mi> <mi mathvariant="normal">X</mi> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle a+b\leq \mathrm {INT\_MAX} }</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/24d98c9883dc487eb24585c80fe95b60fdd3bdc0" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:19.207ex; height:2.343ex;" alt="{\displaystyle a+b\leq \mathrm {INT\_MAX} }"></span>, wobei <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathrm {INT\_MAX} }"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="normal">I</mi> <mi mathvariant="normal">N</mi> <mi mathvariant="normal">T</mi> <mi mathvariant="normal">&#x005F;<!-- _ --></mi> <mi mathvariant="normal">M</mi> <mi mathvariant="normal">A</mi> <mi mathvariant="normal">X</mi> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \mathrm {INT\_MAX} }</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/5c803b79389e7d080cfb3029a4b97a2ae6003f76" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:11.04ex; height:2.176ex;" alt="{\displaystyle \mathrm {INT\_MAX} }"></span> die größte in einem ‚int‘ darstellbare Zahl ist, nach der mathematisch validen Umformung zu <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle a\leq \mathrm {INT\_MAX} -b}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>a</mi> <mo>&#x2264;<!-- ≤ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="normal">I</mi> <mi mathvariant="normal">N</mi> <mi mathvariant="normal">T</mi> <mi mathvariant="normal">&#x005F;<!-- _ --></mi> <mi mathvariant="normal">M</mi> <mi mathvariant="normal">A</mi> <mi mathvariant="normal">X</mi> </mrow> <mo>&#x2212;<!-- − --></mo> <mi>b</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle a\leq \mathrm {INT\_MAX} -b}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/bfa05594e69402530c12e0da65074adb896ddcfe" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:19.207ex; height:2.343ex;" alt="{\displaystyle a\leq \mathrm {INT\_MAX} -b}"></span> zu verwenden.<sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">&#91;</span>15<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Kompatibilität_mit_C"><span id="Kompatibilit.C3.A4t_mit_C"></span>Kompatibilität mit C</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit&amp;section=11" title="Abschnitt bearbeiten: Kompatibilität mit C" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=C%2B%2B&amp;action=edit&amp;section=11" title="Quellcode des Abschnitts bearbeiten: Kompatibilität mit C"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Um an die Verbreitung der Programmiersprache C anzuknüpfen, wurde C++ als Erweiterung von <a href="/wiki/C_(Programmiersprache)" title="C (Programmiersprache)">C</a> gemäß dem damaligen Stand von 1990 (<a href="/wiki/ISO/IEC_9899:1990" class="mw-redirect" title="ISO/IEC 9899:1990">ISO/IEC 9899:1990</a>, auch kurz C90 genannt) entworfen. </p><p>Die Kompatibilität mit C zwingt C++ zur Fortführung einiger dadurch übernommener Nachteile. Dazu zählt die teilweise schwer verständliche C-Syntax, der als überholt geltende <a href="/wiki/C-Pr%C3%A4prozessor" title="C-Präprozessor">Präprozessor</a> sowie verschiedene von der jeweiligen Plattform abhängige Details der Sprache, die die Portierung von C++-Programmen zwischen unterschiedlichen Rechnertypen, Betriebssystemen und Compilern erschweren. </p><p>Einige C-Sprachkonstrukte haben in C++ eine leicht abgewandelte Bedeutung oder Syntax, so dass manche C-Programme erst angepasst werden müssen, um sich als C++-Programm übersetzen zu lassen. Weitere Änderungen an C fanden in den Jahren 1999 (<a href="/wiki/ISO/IEC_9899:1999" class="mw-redirect" title="ISO/IEC 9899:1999">ISO/IEC 9899:1999</a>, aka C99) und 2011 (<a href="/wiki/ISO/IEC_9899:2011" class="mw-redirect" title="ISO/IEC 9899:2011">ISO/IEC 9899:2011</a>, aka C11) also nach der ersten Normung von C++ statt, so dass dort eingeflossene Änderungen nicht in C++98 berücksichtigt werden konnten. In die C++-Revision von 2011 wurde ein Teil der Neuerungen von C99 übernommen; auf der anderen Seite wurden dem C-Standard neue Features hinzugefügt, die auch mit C++11 nicht kompatibel sind. </p> <div class="mw-heading mw-heading3"><h3 id="Sprachmerkmale_im_Detail">Sprachmerkmale im Detail</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit&amp;section=12" title="Abschnitt bearbeiten: Sprachmerkmale im Detail" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=C%2B%2B&amp;action=edit&amp;section=12" title="Quellcode des Abschnitts bearbeiten: Sprachmerkmale im Detail"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>C++ basiert auf der Programmiersprache <a href="/wiki/C_(Programmiersprache)" title="C (Programmiersprache)">C</a>, wie in <a href="/wiki/Internationale_Organisation_f%C3%BCr_Normung" title="Internationale Organisation für Normung">ISO</a>/IEC 9899:1990 beschrieben. Zusätzlich zu den in C vorhandenen Möglichkeiten bietet C++ weitere <a href="/wiki/Datentyp" title="Datentyp">Datentypen</a> sowie neuartige Typumwandlungsmöglichkeiten, <a href="/wiki/Klasse_(Objektorientierung)" title="Klasse (Objektorientierung)">Klassen</a> mit <a href="/wiki/Mehrfachvererbung" title="Mehrfachvererbung">Mehrfachvererbung</a> und <a href="/wiki/Virtuelle_Funktion" class="mw-redirect" title="Virtuelle Funktion">virtuellen Funktionen</a>, <a href="/wiki/Ausnahmebehandlung" title="Ausnahmebehandlung">Ausnahmebehandlung</a>, <a href="/wiki/Template_(C%2B%2B)" title="Template (C++)">Templates</a> (Schablonen), <a href="/wiki/Namensraum" title="Namensraum">Namensräume</a>, <a href="/wiki/Inline-Ersetzung" title="Inline-Ersetzung">Inline-Funktionen</a>, <a href="/wiki/%C3%9Cberladen" title="Überladen">Überladen</a> von <a href="/wiki/Operator_(Mathematik)" title="Operator (Mathematik)">Operatoren</a> und Funktionsnamen, <a href="/wiki/Referenz_(Programmierung)" title="Referenz (Programmierung)">Referenzen</a>, Operatoren zur Verwaltung des <a href="/wiki/Dynamischer_Speicher" title="Dynamischer Speicher">dynamischen Speichers</a> und mit der <a href="/wiki/C%2B%2B-Standardbibliothek" title="C++-Standardbibliothek">C++-Standardbibliothek</a> eine erweiterte <a href="/wiki/Programmbibliothek" title="Programmbibliothek">Bibliothek</a>. </p> <div class="mw-heading mw-heading3"><h3 id="Programmbeispiel">Programmbeispiel</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit&amp;section=13" title="Abschnitt bearbeiten: Programmbeispiel" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=C%2B%2B&amp;action=edit&amp;section=13" title="Quellcode des Abschnitts bearbeiten: Programmbeispiel"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Der folgende <a href="/wiki/Quelltext" title="Quelltext">Quelltext</a> ist ein einfaches C++-<a href="/wiki/Computerprogramm" title="Computerprogramm">Programm</a>, das den Text <a href="/wiki/Hallo-Welt-Programm" title="Hallo-Welt-Programm">„Hallo Welt!“</a> in den <a href="/wiki/Standard-Datenstr%C3%B6me" title="Standard-Datenströme">Standardausgabestrom</a>, üblicherweise das <a href="/wiki/Kommandozeile" title="Kommandozeile">Terminal</a>, schreibt: </p> <div class="mw-highlight mw-highlight-lang-cpp mw-content-ltr" dir="ltr"><pre><span></span><span class="cp">#include</span><span class="w"> </span><span class="cpf">&lt;iostream&gt;</span> <span class="kt">int</span><span class="w"> </span><span class="nf">main</span><span class="p">()</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">cout</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;Hallo Welt!&quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">endl</span><span class="p">;</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span> <span class="p">}</span> </pre></div> <p>Der <a href="/wiki/C-Pr%C3%A4prozessor" title="C-Präprozessor">Präprozessorbefehl</a> oder auch Präprozessordirektive genannt <code>#include</code> bindet <a href="/wiki/Header-Datei" title="Header-Datei">Header-Dateien</a> ein, die typischerweise Deklarationen von Variablen, Typen und Funktionen enthalten. Im Gegensatz zu C besitzen Header der C++-Standardbibliothek keine Dateiendung. </p><p>Der Header <code>&lt;iostream&gt;</code> ist Teil der C++-Standardbibliothek und deklariert unter anderem den Standardeingabestrom <code>std::cin</code> und die Standardausgabeströme <code>std::cout</code> und <code>std::cerr</code> für die aus der C-Standardbibliothek bekannten Objekte <code>stdin</code>, <code>stdout</code> und <code>stderr</code>. </p><p>Bei <code>main()</code> handelt es sich um die <a href="/wiki/Funktion_(Programmierung)" title="Funktion (Programmierung)">Funktion</a>, die den <a href="/wiki/Einsprungpunkt" title="Einsprungpunkt">Einsprungpunkt</a> jedes C++-Programms darstellt. Das Programm wird ausgeführt, indem die Funktion <code>main()</code> aufgerufen wird, wobei diese ihrerseits andere Funktionen aufrufen kann. Die Funktion <code>main()</code> selbst darf allerdings in einem C++-Programm nicht <a href="/wiki/Rekursive_Programmierung" title="Rekursive Programmierung">rekursiv</a> aufgerufen werden. </p><p>Der Standard verlangt von Implementierungen, zwei <a href="/wiki/Signatur_(Programmierung)" title="Signatur (Programmierung)">Signaturen</a> für die Funktion <code>main()</code> zu unterstützen: Eine ohne Funktionsparameter wie im Beispiel, und eine, die einen Integer und einen Zeiger auf Zeiger auf <code>char</code> entgegennimmt, um auf Kommandozeilenparameter zugreifen zu können (was nicht in allen Programmen vonnöten ist): <code>int main(int argc, char **argv)</code>. Implementierungen dürfen darüber hinaus weitere Signaturen für <code>main()</code> unterstützen, alle müssen jedoch den Rückgabetyp <code>int</code> (<a href="/wiki/Integer_(Datentyp)" title="Integer (Datentyp)">Integer</a>) besitzen, also eine Ganzzahl zurückgeben. Würde <code>main()</code> keinen Wert zurückgeben, schreibt der C++-Standard der Implementierung vor, <code>return 0;</code> anzunehmen. <code>main()</code> gibt also 0 zurück, wenn kein anderslautendes <code>return</code>-Statement in ihr vorhanden ist.<sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">&#91;</span>16<span class="cite-bracket">&#93;</span></a></sup> </p><p><code>std::cout</code> ist eine <a href="/wiki/Objektorientierte_Programmierung#Klassen" title="Objektorientierte Programmierung">Instanz der Klasse</a> <code>std::basic_ostream&lt;char&gt;</code>, die sich wie die gesamte C++-Standardbibliothek im <a href="/wiki/Namensraum" title="Namensraum">Namensraum</a> <code>std</code> befindet. Bezeichner in Namensräumen werden mit dem Bereichsoperator (<code>::</code>) angesprochen. </p><p>Die Ausgabe des <a href="/wiki/Konstante_(Programmierung)" title="Konstante (Programmierung)">Zeichenkettenliterals</a> <code>"Hallo Welt"</code> übernimmt der Operator <code>&lt;&lt;</code>. Zeichenkettenliterale sind in C++ vom Typ <i>Array aus N konstanten chars</i> (<code>char const[N]</code>), wobei <i>N</i> gleich der Länge der Zeichenkette + 1 für die abschließende <a href="/wiki/Zeichenkette#Repräsentation_mit_Abschlusszeichen" title="Zeichenkette">Nullterminierung</a> ist. Da die <a href="/wiki/Typumwandlung" title="Typumwandlung">Standardtypumwandlungen</a> von C++ die als <i>pointer-to-array decay</i> bekannte implizite Umwandlung eines Arrays <code>T[N]</code> in einen Pointer <code>T*</code> vorsehen, und damit <code>char const[N]</code> in einen <code>char const*</code> zerfällt, passt der <a href="/wiki/%C3%9Cberladen" title="Überladen">überladene Operator</a> <code>template&lt;class traits&gt; basic_ostream&lt;char,traits&gt;&amp; operator&lt;&lt;(std::basic_ostream&lt;char,traits&gt;&amp;, char const *);</code> aus <code>&lt;ostream&gt;</code> und wird entsprechend aufgerufen (<code>operator&lt;&lt;( std::cout, "Hallo Welt!" );</code>) und gibt die Zeichenkette aus. Durch den Ausgabemanipulator <code>std::endl</code> wird ein <a href="/wiki/Carriage_return" class="mw-redirect" title="Carriage return">Zeilenendezeichen</a> ausgegeben. </p><p>Bei <code>return 0</code> wird dem aufrufenden Programm über das Betriebssystem mitgeteilt, dass die Ausführung des Programms erfolgreich war. </p> <div class="mw-heading mw-heading3"><h3 id="Dateiendungen">Dateiendungen</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit&amp;section=14" title="Abschnitt bearbeiten: Dateiendungen" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=C%2B%2B&amp;action=edit&amp;section=14" title="Quellcode des Abschnitts bearbeiten: Dateiendungen"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Typische Dateiendungen sind .C, .cc, .cpp, .cxx, <span style="white-space:nowrap">.c++</span>, .h, .hh, .hpp, .hxx, <span style="white-space:nowrap">.h++</span>, .ipp, .tpp, .ixx. </p> <div class="mw-heading mw-heading2"><h2 id="Umsetzung">Umsetzung</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit&amp;section=15" title="Abschnitt bearbeiten: Umsetzung" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=C%2B%2B&amp;action=edit&amp;section=15" title="Quellcode des Abschnitts bearbeiten: Umsetzung"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading3"><h3 id="C++-Compiler"><span id="C.2B.2B-Compiler"></span>C++-Compiler</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit&amp;section=16" title="Abschnitt bearbeiten: C++-Compiler" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=C%2B%2B&amp;action=edit&amp;section=16" title="Quellcode des Abschnitts bearbeiten: C++-Compiler"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Die Implementierung eines C++-<a href="/wiki/Compiler" title="Compiler">Compilers</a> gilt als aufwendig. Nach der Fertigstellung der Sprachnorm 1998 dauerte es mehrere Jahre, bis die Sprache von C++-Compilern weitestgehend unterstützt wurde. </p><p>Zu den verbreitetsten C++-Compilern gehören: </p> <dl><dt>Visual C++</dt> <dd>Der in Microsoft <a href="/wiki/Visual_C%2B%2B" title="Visual C++">Visual C++</a> enthaltene Compiler ist der am weitesten verbreitete für das Betriebssystem <a href="/wiki/Microsoft_Windows" title="Microsoft Windows">Windows</a>. Die Community-Edition stellt Microsoft kostenlos zur Verfügung.</dd></dl> <dl><dt>GCC</dt> <dd>Der g++ ist die C++-Ausprägung der <i><a href="/wiki/GNU_Compiler_Collection" title="GNU Compiler Collection">GNU Compiler Collection</a></i> (GCC); g++ ist quelloffen und frei verfügbar. Der g++ unterstützt eine Vielzahl von Betriebssystemen (darunter <a href="/wiki/Unix" title="Unix">Unix</a>, <a href="/wiki/Linux" title="Linux">Linux</a>, <a href="/wiki/MacOS" title="MacOS">macOS</a>, <a href="/wiki/Microsoft_Windows" title="Microsoft Windows">Windows</a> und <a href="/wiki/AmigaOS" title="AmigaOS">AmigaOS</a>) und Prozessorplattformen. <i>GNU C++</i> existiert seit 1987 und ist somit einer der ältesten C++-Compiler.<sup id="cite_ref-hopIII_17-0" class="reference"><a href="#cite_note-hopIII-17"><span class="cite-bracket">&#91;</span>17<span class="cite-bracket">&#93;</span></a></sup></dd></dl> <dl><dt>Clang</dt> <dd><a href="/wiki/Clang" title="Clang">Clang</a>, ein C++ Compiler-Frontend für plattformübergreifende Compilerinfrastruktur <a href="/wiki/LLVM" title="LLVM">LLVM</a>, die unter anderem auch in der Apple eigenen integrierten Entwicklungsumgebung <a href="/wiki/Xcode" title="Xcode">Xcode</a> verwendet wird.<sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">&#91;</span>18<span class="cite-bracket">&#93;</span></a></sup> Im Clang/LLVM Ecosystem sind auch mehrere Tools zur statischen Codeanalyse entstanden wie z.&#160;B. „clang-tidy“ und „clang-format“.</dd></dl> <dl><dt>Intel C++ Compiler</dt> <dd>Der <a href="/wiki/Intel_C%2B%2B_Compiler" title="Intel C++ Compiler">Intel C++ Compiler</a> verwendet ebenfalls das unten erwähnte C++-Front-End von EDG. Der <i>Intel C++ Compiler</i> erzeugt <a href="/wiki/Maschinencode" class="mw-redirect" title="Maschinencode">Maschinencode</a> für die <a href="/wiki/Intel" title="Intel">Intel</a>-Prozessoren unter den Betriebssystemen Windows, Linux und macOS. Da die mit dem <i>Intel C++ Compiler</i> erzeugten Programme den Befehlssatz der Intel-Prozessoren besonders gut ausnutzen, erzeugen sie besonders effiziente Programme für diese Plattform. (Kompilate des Intel-Compilers laufen ebenfalls auf <a href="/wiki/AMD#Mikroprozessoren" title="AMD">AMD-Chips</a> meist schneller als Kompilate der alternativen Compiler, entsprechende Optimierungsflags sperrt Intel jedoch, wobei sich die Sperre aufheben lässt.) Der Intel C++ Compiler nutzt im Unterbau wesentliche Teile des g++ und ersetzt und erweitert Teile der Code-Optimierung und Code-Generierung.</dd></dl> <dl><dt>Oracle Solaris Studio</dt> <dd><a href="/w/index.php?title=Oracle_Solaris_Studio&amp;action=edit&amp;redlink=1" class="new" title="Oracle Solaris Studio (Seite nicht vorhanden)">Oracle Solaris Studio</a> stellt Oracle kostenlos zur Verfügung.<sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span class="cite-bracket">&#91;</span>19<span class="cite-bracket">&#93;</span></a></sup></dd></dl> <dl><dt>Comeau C++</dt> <dd>Der <a href="/wiki/Comeau_C%2B%2B" title="Comeau C++">Comeau C++</a>. Das sogenannte „Front-End“ des Compilers, also der Teil, der die Analyse-Phase implementiert, wurde von der Firma <i>Edison Design Group</i> (EDG) entwickelt, 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.</dd></dl> <dl><dt>Turbo&#160;C++</dt> <dd>Mit <a href="/wiki/Turbo_C" title="Turbo C">Turbo&#160;C++</a>/<a href="/wiki/C%2B%2BBuilder" title="C++Builder">C++&#160;Builder</a> steht ein weiterer Compiler zur Verfügung.<sup id="cite_ref-20" class="reference"><a href="#cite_note-20"><span class="cite-bracket">&#91;</span>20<span class="cite-bracket">&#93;</span></a></sup></dd></dl> <div class="mw-heading mw-heading2"><h2 id="Integrierte_Entwicklungsumgebungen">Integrierte Entwicklungsumgebungen</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit&amp;section=17" title="Abschnitt bearbeiten: Integrierte Entwicklungsumgebungen" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=C%2B%2B&amp;action=edit&amp;section=17" title="Quellcode des Abschnitts bearbeiten: Integrierte Entwicklungsumgebungen"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading3"><h3 id="Freie_Entwicklungsumgebungen">Freie Entwicklungsumgebungen</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit&amp;section=18" title="Abschnitt bearbeiten: Freie Entwicklungsumgebungen" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=C%2B%2B&amp;action=edit&amp;section=18" title="Quellcode des Abschnitts bearbeiten: Freie Entwicklungsumgebungen"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a href="/wiki/Anjuta_(Software)" title="Anjuta (Software)">Anjuta</a></li> <li><a href="/wiki/Arduino_(Plattform)" title="Arduino (Plattform)">Arduino</a></li> <li><a href="/wiki/CodeLite" title="CodeLite">CodeLite</a></li> <li><a href="/wiki/Code::Blocks" title="Code::Blocks">Code::Blocks</a></li> <li><a href="/wiki/Eclipse_(IDE)" title="Eclipse (IDE)">Eclipse</a></li> <li><a href="/wiki/Geany" title="Geany">Geany</a></li> <li><a href="/wiki/GNAT_Programming_Studio" title="GNAT Programming Studio">GNAT Programming Studio</a></li> <li><a href="/wiki/KDevelop" title="KDevelop">KDevelop</a></li> <li><a href="/wiki/MonoDevelop" title="MonoDevelop">MonoDevelop</a></li> <li><a href="/wiki/NetBeans_IDE" title="NetBeans IDE">NetBeans IDE</a></li> <li><a href="/wiki/Orwell_Dev-C%2B%2B" title="Orwell Dev-C++">Orwell Dev-C++</a></li> <li><a href="/wiki/Qt_Creator" title="Qt Creator">Qt Creator</a></li> <li><a href="/wiki/TOPCASED" title="TOPCASED">TOPCASED</a></li> <li><a href="/wiki/Ultimate%2B%2B" title="Ultimate++">Ultimate++</a></li> <li><a href="/wiki/WideStudio" title="WideStudio">WideStudio</a></li> <li><a href="/wiki/Visual_Studio_Code" title="Visual Studio Code">Visual Studio Code</a> (Mit C++ Erweiterung)</li></ul> <div class="mw-heading mw-heading3"><h3 id="Proprietäre_Entwicklungsumgebungen"><span id="Propriet.C3.A4re_Entwicklungsumgebungen"></span>Proprietäre Entwicklungsumgebungen</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit&amp;section=19" title="Abschnitt bearbeiten: Proprietäre Entwicklungsumgebungen" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=C%2B%2B&amp;action=edit&amp;section=19" title="Quellcode des Abschnitts bearbeiten: Proprietäre Entwicklungsumgebungen"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a href="/wiki/C%2B%2BBuilder" title="C++Builder">C++Builder</a></li> <li>CLion (basiert auf <a href="/wiki/IntelliJ_IDEA" title="IntelliJ IDEA">IntelliJ IDEA</a>)</li> <li><a href="/wiki/CodeWarrior" title="CodeWarrior">CodeWarrior</a></li> <li><a href="/wiki/Conzept_16" title="Conzept 16">Conzept 16</a> (Programmiersprache C++ ähnlich)</li> <li><a href="/wiki/Cubic_IDE" title="Cubic IDE">Cubic IDE</a></li> <li><a href="/wiki/ICon-L" title="ICon-L">ICON-L</a></li> <li><a href="/wiki/Kylix_(Entwicklungsumgebung)" title="Kylix (Entwicklungsumgebung)">Kylix</a></li> <li><a href="/wiki/Visual_Studio" title="Visual Studio">Visual Studio</a></li> <li><a href="/wiki/Xcode" title="Xcode">Xcode</a></li></ul> <div class="mw-heading mw-heading2"><h2 id="Vergleich_mit_anderen_Sprachen">Vergleich mit anderen Sprachen</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit&amp;section=20" title="Abschnitt bearbeiten: Vergleich mit anderen Sprachen" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=C%2B%2B&amp;action=edit&amp;section=20" title="Quellcode des Abschnitts bearbeiten: Vergleich mit anderen Sprachen"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading3"><h3 id="Objective-C">Objective-C</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit&amp;section=21" title="Abschnitt bearbeiten: Objective-C" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=C%2B%2B&amp;action=edit&amp;section=21" title="Quellcode des Abschnitts bearbeiten: Objective-C"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>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 <a href="/wiki/Objective-C" title="Objective-C">Objective-C</a>, die sich aber im Gegensatz zu C++ syntaktisch wie von ihrem Funktionsprinzip an <a href="/wiki/Smalltalk_(Programmiersprache)" title="Smalltalk (Programmiersprache)">Smalltalk</a> und nicht an <a href="/wiki/Simula" title="Simula">Simula</a> orientierte. Die Syntax von Objective-C (C beeinflusst durch Smalltalk) unterscheidet sich erheblich von C++ (C beeinflusst von Simula mit ganz eigenen syntaktischen Erweiterungen). Ende der 1980er Jahre wurde Objective-C erstmals kommerziell in <a href="/wiki/OPENSTEP" title="OPENSTEP">NeXTStep</a> verwendet, in dem es einen zentralen Bestandteil darstellt. Heutzutage findet es in der Programmierschnittstelle <a href="/wiki/OpenStep" title="OpenStep">OpenStep</a> (bzw. <a href="/wiki/Cocoa_(API)" title="Cocoa (API)">Cocoa</a> und <a href="/wiki/GNUstep" title="GNUstep">GNUstep</a>) sowie in den Betriebssystemen <a href="/wiki/IOS_(Betriebssystem)" title="IOS (Betriebssystem)">iOS</a> und <a href="/wiki/MacOS" title="MacOS">macOS</a> ein wichtiges Einsatzgebiet. </p> <div class="mw-heading mw-heading3"><h3 id="Java_und_C#"><span id="Java_und_C.23"></span>Java und C#</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit&amp;section=22" title="Abschnitt bearbeiten: Java und C#" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=C%2B%2B&amp;action=edit&amp;section=22" title="Quellcode des Abschnitts bearbeiten: Java und C#"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Die Programmiersprachen <a href="/wiki/Java_(Programmiersprache)" title="Java (Programmiersprache)">Java</a> und <a href="/wiki/C-Sharp" title="C-Sharp">C#</a> verfügen über eine ähnliche, ebenfalls an C angelehnte Syntax wie C++,<sup id="cite_ref-21" class="reference"><a href="#cite_note-21"><span class="cite-bracket">&#91;</span>21<span class="cite-bracket">&#93;</span></a></sup> sind auch objektorientiert und unterstützen seit einiger Zeit Typparameter. Trotz äußerlicher Ähnlichkeiten unterscheiden sie sich aber konzeptionell von C++ zum Teil beträchtlich. </p><p>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 primitive Typen oder Datenkonstanten anwendbar. Demgegenüber beziehen die generischen Spracherweiterungen von C# auch die primitiven 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. </p><p>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 <a href="/wiki/Polymorphie_(Programmierung)" title="Polymorphie (Programmierung)">Polymorphie</a>, einen der fundamentalen Bestandteile der objektorientierten Programmierung. </p> <div class="sieheauch" role="navigation" style="font-style:italic;"><span class="sieheauch-text">Siehe auch</span>: <a href="/wiki/Simula" title="Simula">Simula</a>&#160;und <a href="/wiki/Smalltalk_(Programmiersprache)" title="Smalltalk (Programmiersprache)">Smalltalk</a></div> <div class="mw-heading mw-heading2"><h2 id="Entstehung_und_Weiterentwicklung">Entstehung und Weiterentwicklung</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit&amp;section=23" title="Abschnitt bearbeiten: Entstehung und Weiterentwicklung" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=C%2B%2B&amp;action=edit&amp;section=23" title="Quellcode des Abschnitts bearbeiten: Entstehung und Weiterentwicklung"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading3"><h3 id="Entstehungsgeschichte">Entstehungsgeschichte</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit&amp;section=24" title="Abschnitt bearbeiten: Entstehungsgeschichte" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=C%2B%2B&amp;action=edit&amp;section=24" title="Quellcode des Abschnitts bearbeiten: Entstehungsgeschichte"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Auf die Idee für eine neue Programmiersprache kam Stroustrup durch Erfahrungen mit der Programmiersprache <a href="/wiki/Simula" title="Simula">Simula</a> während seiner Doktorarbeit an der <i>Cambridge University</i>. Simula erschien zwar geeignet für den Einsatz in großen Software-Projekten, die Struktur der Sprache erschwerte aber die Erstellung <a href="/wiki/Effizienz_(Informatik)" title="Effizienz (Informatik)">hocheffizienter Programme</a>. Demgegenüber ließen sich effiziente Programme zwar mit der Sprache <a href="/wiki/BCPL" class="mw-redirect" title="BCPL">BCPL</a> schreiben, für große Projekte war BCPL aber wiederum ungeeignet. </p><p>Mit den Erfahrungen aus seiner Doktorarbeit erweiterte Stroustrup in den AT&amp;T <a href="/wiki/Bell_Laboratories" title="Bell Laboratories">Bell Laboratories</a> im Rahmen von Untersuchungen des <a href="/wiki/Unix" title="Unix">Unix</a>-Betriebssystemkerns in Bezug auf <a href="/wiki/Verteiltes_Rechnen" class="mw-redirect" title="Verteiltes Rechnen">verteiltes Rechnen</a> ab 1979 die <a href="/wiki/C_(Programmiersprache)" title="C (Programmiersprache)">Programmiersprache C</a>. Die Wahl fiel auf die Programmiersprache C, da C eine Mehrzwecksprache war, die schnellen Code produzierte und einfach auf andere Plattformen zu <a href="/wiki/Plattformunabh%C3%A4ngigkeit" title="Plattformunabhängigkeit">portieren</a> war. Als dem Betriebssystem Unix beiliegende Sprache hatte C außerdem eine erhebliche Verbreitung. </p><p>Eine der ersten Erweiterungen war ein <a href="/wiki/Klasse_(Objektorientierung)" title="Klasse (Objektorientierung)">Klassenkonzept</a> mit Datenkapselung, für das die Sprache <i>Simula-67</i> das primäre Vorbild war. Danach kamen abgeleitete Klassen hinzu, ein strengeres <a href="/wiki/Typsystem" class="mw-redirect" title="Typsystem">Typsystem</a>, Inline-Funktionen und Standard-Argumente. </p><p>Während Stroustrup <i>C with Classes</i> („C mit Klassen“) entwickelte (woraus später C++ wurde), schrieb er auch <i>cfront</i>, einen Compiler, der aus <i>C with Classes</i> zunächst C-Code als Zwischenresultat erzeugte. Die erste kommerzielle Version von <i>cfront</i> erschien im Oktober 1985. </p><p>1983 wurde <i>C with Classes</i> in <i>C++</i> umbenannt. Erweiterungen darin waren: Überladen von Funktionsnamen und Operatoren, virtuelle Funktionen, Referenzen, Konstanten, eine änderbare Freispeicherverwaltung und eine verbesserte Typüberprüfung. Die Möglichkeit von Kommentaren, die an das Zeilenende gebunden sind, wurde aus BCPL übernommen (<code>//</code>). </p><p>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 <a href="/wiki/Objektorientierte_Programmierung" title="Objektorientierte Programmierung">Mehrfachvererbung</a>, abstrakte Klassen, statische Elementfunktionen, konstante Elementfunktionen und die Erweiterung des Zugriffsmodells um <code>protected</code>. 1990 erschien das Buch <i>The Annotated C++ Reference Manual</i>, das als Grundlage für den darauffolgenden Standardisierungsprozess diente. </p><p>Relativ spät wurden der Sprache <i>Templates</i>, <i>Ausnahmebehandlung</i>, <i>Namensräume</i>, neuartige <i>Typumwandlungen</i> und <i>boolesche Typen</i> hinzugefügt. </p><p>Im Zuge der Weiterentwicklung der Sprache C++ entstand auch eine gegenüber C erweiterte Standardbibliothek. Erste Ergänzung war die <i>Stream-I/O-Bibliothek</i>, die Ersatz für traditionelle C-Funktionen wie zum Beispiel <code>printf()</code> und <code>scanf()</code> bietet. Eine der wesentlichen Erweiterungen der Standardbibliothek kam später durch die Integration großer Teile der bei <a href="/wiki/Hewlett-Packard" class="mw-redirect" title="Hewlett-Packard">Hewlett-Packard</a> entwickelten <a href="/wiki/Standard_Template_Library" title="Standard Template Library">Standard Template Library</a> (<i>STL</i>) hinzu. </p> <div class="mw-heading mw-heading4"><h4 id="Standardisierung">Standardisierung</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit&amp;section=25" title="Abschnitt bearbeiten: Standardisierung" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=C%2B%2B&amp;action=edit&amp;section=25" title="Quellcode des Abschnitts bearbeiten: Standardisierung"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Nach jahrelanger Arbeit wurde schließlich 1998 die endgültige Fassung der Sprache C++ (ISO/IEC 14882:1998) genormt. Diese Version wurde im Nachhinein, als weitere Versionen der Sprache erschienen, auch <i>C++98</i> genannt. Im Jahr 2003 wurde ISO/IEC 14882:2003 verabschiedet, eine Nachbesserung der Norm von 1998, in der einige Missverständnisse beseitigt und mehrere Details klarer formuliert wurden. Diese Version wird umgangssprachlich auch <i>C++03</i> genannt. </p> <div class="mw-heading mw-heading3"><h3 id="Weiterentwicklung_der_Programmiersprache_C++_nach_2005"><span id="Weiterentwicklung_der_Programmiersprache_C.2B.2B_nach_2005"></span>Weiterentwicklung der Programmiersprache C++ nach 2005</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit&amp;section=26" title="Abschnitt bearbeiten: Weiterentwicklung der Programmiersprache C++ nach 2005" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=C%2B%2B&amp;action=edit&amp;section=26" title="Quellcode des Abschnitts bearbeiten: Weiterentwicklung der Programmiersprache C++ nach 2005"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Um mit den aktuellen Entwicklungen der sich schnell verändernden Computer-Technik Schritt zu halten, aber auch zur Ausbesserung bekannter Schwächen, erarbeitete das C++-Standardisierungskomitee die nächste größere Revision von C++, die inoffiziell mit <b>C++0x</b> abgekürzt wurde, worin die Ziffernfolge eine grobe Einschätzung des möglichen Erscheinungstermins andeuten sollte. Später, als ein Erscheinungstermin bis Ende 2009 nicht mehr zu halten war, änderte sich der inoffizielle Name zu <i>C++1x</i>. </p><p>Die vorrangigen Ziele für die Weiterentwicklung von C++ waren Verbesserungen im Hinblick auf die Systemprogrammierung sowie zur Erstellung von Programmbibliotheken. Außerdem sollte die Erlernbarkeit der Sprache für Anfänger verbessert werden. </p><p>Im November 2006 wurde der Zieltermin für die Fertigstellung auf das Jahr 2009 festgelegt. Im Juli 2009 wurde dieser Termin auf frühestens 2010 geändert. Im August 2011 wurde die Revision einstimmig von der <a href="/wiki/International_Organization_for_Standardization" class="mw-redirect" title="International Organization for Standardization">ISO</a> angenommen<sup id="cite_ref-22" class="reference"><a href="#cite_note-22"><span class="cite-bracket">&#91;</span>22<span class="cite-bracket">&#93;</span></a></sup> und am 11. Oktober 2011 als ISO/IEC 14882:2011 offiziell veröffentlicht.<sup id="cite_ref-23" class="reference"><a href="#cite_note-23"><span class="cite-bracket">&#91;</span>23<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-24" class="reference"><a href="#cite_note-24"><span class="cite-bracket">&#91;</span>24<span class="cite-bracket">&#93;</span></a></sup> Inoffiziell heißt die Version <b>C++11</b>. </p> <div class="mw-heading mw-heading4"><h4 id="Verbesserungen_am_Sprachkern">Verbesserungen am Sprachkern</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit&amp;section=27" title="Abschnitt bearbeiten: Verbesserungen am Sprachkern" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=C%2B%2B&amp;action=edit&amp;section=27" title="Quellcode des Abschnitts bearbeiten: Verbesserungen am Sprachkern"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>C++98 deckte einige typische Problemfelder der Programmierung noch nicht ausreichend ab, zum Beispiel die Unterstützung von Nebenläufigkeit (<a href="/wiki/Thread_(Informatik)" title="Thread (Informatik)">Threads</a>), deren Integration in C++, insbesondere für die Verwendung in Mehrprozessorumgebungen, eine Überarbeitung der Sprache unumgänglich machte. Durch die Einführung eines Speichermodells wurden Garantien der Sprache für den nebenläufigen Betrieb festgelegt, um Mehrdeutigkeiten in der Abarbeitungsreihenfolge sowohl aufzulösen als auch in bestimmten Fällen aufrechtzuerhalten und dadurch Spielraum für Optimierungen zu schaffen. </p><p>Zu den weitreichenderen Spracherweiterungen gehörte ferner die <a href="/wiki/Typinferenz" title="Typinferenz">automatische Typableitung</a> zur Ableitung von Ergebnistypen aus Ausdrücken und die sogenannten <i>R-Wert-Referenzen</i>, mit deren Hilfe sich als Ergänzung zu dem bereits vorhandenen <i>Kopieren</i> von Objekten dann auch ein <i>Verschieben</i> realisieren lässt, außerdem bereichsbasierte For-Schleifen (<a href="/wiki/Foreach" class="mw-redirect" title="Foreach">foreach</a>) über Container und eingebaute Felder.<sup id="cite_ref-25" class="reference"><a href="#cite_note-25"><span class="cite-bracket">&#91;</span>25<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading4"><h4 id="Erweiterung_der_Programmbibliothek">Erweiterung der Programmbibliothek</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit&amp;section=28" title="Abschnitt bearbeiten: Erweiterung der Programmbibliothek" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=C%2B%2B&amp;action=edit&amp;section=28" title="Quellcode des Abschnitts bearbeiten: Erweiterung der Programmbibliothek"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Im April 2006 gab das C++-Standardisierungskomitee den sogenannten ersten Technischen Report (TR1) heraus, eine nicht normative Ergänzung zur aktuell gültigen, 1998 definierten Bibliothek, mit der Erweiterungsvorschläge vor einer möglichen Übernahme in die <a href="/wiki/C%2B%2B-Standardbibliothek" title="C++-Standardbibliothek">C++-Standardbibliothek</a> auf ihre Praxistauglichkeit hin untersucht werden sollen. Viele Compiler-Hersteller lieferten den TR1 mit ihren Produkten aus. </p><p>Im TR1 waren u.&#160;a. <a href="/wiki/Regul%C3%A4rer_Ausdruck" title="Regulärer Ausdruck">reguläre Ausdrücke</a>,<sup id="cite_ref-26" class="reference"><a href="#cite_note-26"><span class="cite-bracket">&#91;</span>26<span class="cite-bracket">&#93;</span></a></sup> verschiedene <a href="/wiki/Intelligenter_Zeiger" title="Intelligenter Zeiger">intelligente Zeiger</a>,<sup id="cite_ref-27" class="reference"><a href="#cite_note-27"><span class="cite-bracket">&#91;</span>27<span class="cite-bracket">&#93;</span></a></sup> <a href="/wiki/Hashtabelle" title="Hashtabelle">ungeordnete assoziative</a> <a href="/wiki/Container_(Informatik)" title="Container (Informatik)">Container</a>,<sup id="cite_ref-28" class="reference"><a href="#cite_note-28"><span class="cite-bracket">&#91;</span>28<span class="cite-bracket">&#93;</span></a></sup> eine Zufallszahlenbibliothek,<sup id="cite_ref-29" class="reference"><a href="#cite_note-29"><span class="cite-bracket">&#91;</span>29<span class="cite-bracket">&#93;</span></a></sup> Hilfsmittel für die C++-Metaprogrammierung, <a href="/wiki/Tupel_(Informatik)" title="Tupel (Informatik)">Tupel</a><sup id="cite_ref-30" class="reference"><a href="#cite_note-30"><span class="cite-bracket">&#91;</span>30<span class="cite-bracket">&#93;</span></a></sup> sowie <a href="/wiki/Numerik" class="mw-redirect" title="Numerik">numerische</a> und mathematische Bibliotheken enthalten.<sup id="cite_ref-31" class="reference"><a href="#cite_note-31"><span class="cite-bracket">&#91;</span>31<span class="cite-bracket">&#93;</span></a></sup> Die meisten dieser Erweiterungen stammten aus der <a href="/wiki/Boost_(C%2B%2B-Bibliothek)" title="Boost (C++-Bibliothek)">Boost-Bibliothek</a>, woraus sie mit minimalen Änderungen übernommen wurden. Außerdem waren sämtliche Bibliothekserweiterungen der 1999 überarbeiteten Programmiersprache C (C99) in einer an C++ angepassten Form enthalten.<sup id="cite_ref-32" class="reference"><a href="#cite_note-32"><span class="cite-bracket">&#91;</span>32<span class="cite-bracket">&#93;</span></a></sup> </p><p>Mit Ausnahme der numerischen und mathematischen Bibliotheken wurden alle TR1-Erweiterungen in die Sprachnorm C++11 übernommen. Ebenfalls wurde eine eigene Bibliothek zur Unterstützung von Threads eingeführt. </p> <div class="mw-heading mw-heading4"><h4 id="C++11"><span id="C.2B.2B11"></span>C++11</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit&amp;section=29" title="Abschnitt bearbeiten: C++11" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=C%2B%2B&amp;action=edit&amp;section=29" title="Quellcode des Abschnitts bearbeiten: C++11"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Mit der Norm ISO/IEC 14882:2011, auch bekannt als <i>C++11</i>, wurden viele weitreichende Neuerungen in C++ eingeführt, wie auszugsweise: </p> <ul><li>Lambdas (<a href="/wiki/Anonyme_Funktion" title="Anonyme Funktion">Anonyme Funktionen</a>), welche vor der Verabschiedung des <i>C++11</i>-Standards in anderen Sprachen schon teils breite Anwendung fanden, erweitern die Sprache vor allem im Bereich der funktionalen Programmierung.</li> <li>Eine erleichterte Typbehandlung mit <a href="/wiki/Typinferenz" title="Typinferenz">Typinferenz</a> ist nun über das Schlüsselwort <code>auto</code> (das nun nicht mehr ein Speicherklassen-Specifier ist) einerseits und das Schlüsselwort <code>decltype</code> (das den Typ eines Ausdrucks statisch zur Compilezeit zurückgibt, sofern ermittelbar) andererseits möglich. Beide Schlüsselworte zeigen ihre Stärke zudem auch im Verbund. So können ganze Funktionen, deren Rückgabetypen beispielsweise nur schwer vom Programmierer einzusehen sind, weil sie beispielsweise innerhalb komplexerer Klassentemplates liegen, komfortabel definiert werden:<div style="margin-left:3em;" class="mw-highlight mw-highlight-lang-cpp mw-content-ltr" dir="ltr"><pre><span></span><span class="k">template</span><span class="w"> </span><span class="o">&lt;</span><span class="k">typename</span><span class="w"> </span><span class="nc">Factory</span><span class="o">&gt;</span> <span class="k">auto</span><span class="w"> </span><span class="n">createObject</span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="n">Factory</span><span class="o">&amp;</span><span class="w"> </span><span class="n">creator</span><span class="p">)</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="k">decltype</span><span class="p">(</span><span class="n">creator</span><span class="p">.</span><span class="n">makeObject</span><span class="p">())</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">creator</span><span class="p">.</span><span class="n">makeObject</span><span class="p">();</span> <span class="p">}</span> </pre></div></li> <li>Streng typisierte <code>enum</code>s (<code>enum class</code>) beseitigen Probleme mit Namenskollisionen und schränken die Fehleranfälligkeit in Bezug auf implizite Typkonvertierungen ein.</li> <li>Sogenannte „range-based loops“ mittels eines modifizierten <code>for</code>-Statements erleichtern die Arbeit mit Containern und Arrays in der Art, dass Iteratoren beim Traversieren von Objekten dieser Datentypen für viele Anwendungsfälle überflüssig werden:<div style="margin-left:3em;" class="mw-highlight mw-highlight-lang-cpp mw-content-ltr" dir="ltr"><pre><span></span><span class="cp">#include</span><span class="w"> </span><span class="cpf">&lt;iostream&gt;</span> <span class="cp">#include</span><span class="w"> </span><span class="cpf">&lt;string&gt;</span> <span class="cp">#include</span><span class="w"> </span><span class="cpf">&lt;vector&gt;</span> <span class="k">using</span><span class="w"> </span><span class="k">namespace</span><span class="w"> </span><span class="nn">std</span><span class="p">;</span> <span class="kt">void</span><span class="w"> </span><span class="nf">printNames</span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="n">vector</span><span class="o">&lt;</span><span class="n">string</span><span class="o">&gt;&amp;</span><span class="w"> </span><span class="n">names</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="n">string</span><span class="o">&amp;</span><span class="w"> </span><span class="n">singleName</span><span class="o">:</span><span class="w"> </span><span class="n">names</span><span class="p">)</span> <span class="w"> </span><span class="n">cout</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">singleName</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">endl</span><span class="p">;</span> <span class="p">}</span> </pre></div></li> <li>Es dürfen direkt aufeinanderfolgende spitze Klammern bei Templates benutzt werden: <code>map&lt;int, vector&lt;int<b>&gt;&gt;</b></code>.</li> <li>Überdies erfolgte mit der Einführung von variadischen (vielstelligen) Templates eine großräumige Erweiterung der Nutzungsmöglichkeiten von Templates. Diese ermöglichen nun eine nicht fixe Anzahl von Template-Argumenten <code> template&lt;typename... Values&gt; class VariadicExampleClass;</code>, was weitreichende Optionen und Vereinfachungen im Code- bzw. Algorithmenaufbau und der Codestruktur allgemein ermöglicht. Des Weiteren haben sie, wie viele andere <i>C++11</i>-Erweiterungen auch, das Potential, die Notwendigkeit zur Nutzung von teils fehleranfälligen und nicht robusten Macros weiter einzuschränken.</li> <li>Die explizite Nutzbarkeit sogenannter Rvalue-Referenzen ermöglicht, aufbauend unter anderem auf sogenannter Bewegungssemantik, ein breites Spektrum von Codevereinfachungen, Laufzeitoptimierungen und ausnahmesicherer Programmierung. Mit den Rvalue-Referenzen wurden auch die sogenannten universellen Referenzen eingeführt, welche das Problem des „Perfect forwarding“ auf Sprachebene robust und einfach lösbar machen (die konsistente Weiterreichung von Typen innerhalb von Templatekonstrukten, die per „type deduction“ aufgelöst wurden, an weiterführende Templates). Vor der Verabschiedung des <i>C++11</i>-Standards war dies zumindest rein auf Sprachebene nicht möglich und erforderte vom Programmierer je nach Problemfall mehr oder weniger viel Eigenregie mit teils entsprechender Codeaufblähung und -Duplizierung.</li> <li>Außerdem wurden einige Features aus C11 übernommen, zum Beispiel Ganzzahlen mit mindestens 64 Bit (<code>long long</code>) oder Zusicherungen zur Übersetzungszeit mittels <code>static_assert</code> (in C11: <code>_Static_assert</code>).<sup id="cite_ref-33" class="reference"><a href="#cite_note-33"><span class="cite-bracket">&#91;</span>33<span class="cite-bracket">&#93;</span></a></sup></li></ul> <p>Themen der Sprache C++, die Rechenzeit und Speicherplatz betreffen, wurden im sogenannten <i>technical report</i> ISO/IEC TR 18015:2006 behandelt.<sup id="cite_ref-34" class="reference"><a href="#cite_note-34"><span class="cite-bracket">&#91;</span>34<span class="cite-bracket">&#93;</span></a></sup> </p><p>Zum Zeitpunkt der Einführung des Standards und auch noch vergleichsweise lange darüber hinaus unterstützten viele gängige Compiler diesen nicht vollständig bzw. mit Bezug auf einige Erweiterungen mitunter fehlerhaft. Besonders starke Einschränkungen zeigte diesbezüglich zum Beispiel Microsoft mit <i>Visual C++ 2012</i>. Mit <i>Visual C++ 2015</i> sind mittlerweile jedoch nahezu alle wichtigen größeren Spracherweiterungen berücksichtigt worden.<sup id="cite_ref-35" class="reference"><a href="#cite_note-35"><span class="cite-bracket">&#91;</span>35<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-36" class="reference"><a href="#cite_note-36"><span class="cite-bracket">&#91;</span>36<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading4"><h4 id="C++14"><span id="C.2B.2B14"></span>C++14</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit&amp;section=30" title="Abschnitt bearbeiten: C++14" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=C%2B%2B&amp;action=edit&amp;section=30" title="Quellcode des Abschnitts bearbeiten: C++14"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>C++14, beschrieben im Standard ISO/IEC 14882:2014,<sup id="cite_ref-ISO14882-2014_2-1" class="reference"><a href="#cite_note-ISO14882-2014-2"><span class="cite-bracket">&#91;</span>2<span class="cite-bracket">&#93;</span></a></sup> erweitert die Einsatzmöglichkeiten von <code>auto</code> und <code>decltype</code>, schwächt die Voraussetzungen für <code>constexpr</code> ab, erlaubt Variablen-Templates zu definieren (beispielsweise um mehrere Versionen von π mit je nach Typ unterschiedlicher Genauigkeit zu definieren), führt Binärliterale ein (0b...), führt Hochkommata als Trennzeichen in Zahlen ein, erlaubt generische Lambdas, erweitert Lambda capture expressions und führt das Attribut <code>deprecated</code> ein.<sup id="cite_ref-ISO14882-2014_2-2" class="reference"><a href="#cite_note-ISO14882-2014-2"><span class="cite-bracket">&#91;</span>2<span class="cite-bracket">&#93;</span></a></sup> </p><p>Außerdem wurde die Standardbibliothek um ein paar Funktionen ergänzt, die bei C++11 „vergessen“ bzw. „übersehen“ wurden (z.&#160;B. <code>std::make_unique</code>) und etliche Funktionsdeklarationen nun als <code>constexpr</code> umdeklariert, was dem Compiler aggressivere Optimierungen gestattet. </p><p>Während der Entwicklungsphase wurde C++14 auch <i>C++1y</i> genannt, um anzudeuten, dass es die Nachfolgeversion der vormals als C++0x genannten Version sein wird. </p> <div class="mw-heading mw-heading4"><h4 id="C++17"><span id="C.2B.2B17"></span>C++17</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit&amp;section=31" title="Abschnitt bearbeiten: C++17" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=C%2B%2B&amp;action=edit&amp;section=31" title="Quellcode des Abschnitts bearbeiten: C++17"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Im März 2017 hat das ISO-C++-Komitee den Sprachstandard C++17 technisch abgeschlossen. Für die neue Fassung wurde unter anderem die Aufnahme des Typen <code>std::byte</code> beschlossen.<sup id="cite_ref-37" class="reference"><a href="#cite_note-37"><span class="cite-bracket">&#91;</span>37<span class="cite-bracket">&#93;</span></a></sup> Dieser ist explizit für den byte-weisen Zugriff auf den Speicher bestimmt. Es wurden neue, generische Container eingeführt: <code>std::any</code> als Alternative zu <code>void*</code> mit Typüberprüfung zur Laufzeit, <code>std::variant</code> als Alternative zur aus C übernommenen Union mit Laufzeit-Typprüfung und <code>std::optional</code>, ein Container, der genau ein Element enthalten kann, aber nicht muss. </p><p>Bis zur offiziellen Verabschiedung wurde die Fassung auch als <i>C++1z</i> bezeichnet.<sup id="cite_ref-38" class="reference"><a href="#cite_note-38"><span class="cite-bracket">&#91;</span>38<span class="cite-bracket">&#93;</span></a></sup> </p><p>Nach dem Sommer-Meeting Mitte Juli verriet der C++-Experte <a href="/wiki/Herb_Sutter" title="Herb Sutter">Herb Sutter</a>, der für die Einberufung des Komitees verantwortlich ist, in seinem Blog<sup id="cite_ref-39" class="reference"><a href="#cite_note-39"><span class="cite-bracket">&#91;</span>39<span class="cite-bracket">&#93;</span></a></sup> bereits erste Pläne für C++20. </p> <div class="mw-heading mw-heading4"><h4 id="C++20"><span id="C.2B.2B20"></span>C++20</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit&amp;section=32" title="Abschnitt bearbeiten: C++20" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=C%2B%2B&amp;action=edit&amp;section=32" title="Quellcode des Abschnitts bearbeiten: C++20"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Die finale Version von C++20 wurde im Dezember 2020 veröffentlicht, nachdem er im Februar finalisiert und im September bestätigt wurde.<sup id="cite_ref-40" class="reference"><a href="#cite_note-40"><span class="cite-bracket">&#91;</span>40<span class="cite-bracket">&#93;</span></a></sup> </p> <ul><li>Concepts als Erweiterung zu Templates</li> <li>bestimmte Initialisierer (zuerst in <a href="/wiki/Varianten_der_Programmiersprache_C#C99" title="Varianten der Programmiersprache C">C99</a>)</li> <li>[=, this] in <a href="/wiki/Lambda-Kalk%C3%BCl" title="Lambda-Kalkül">Lambdas</a></li> <li>Template-Parameter-Listen in Parametern</li> <li><a href="/wiki/Dreiwegevergleich" class="mw-redirect" title="Dreiwegevergleich">Dreiwegevergleich</a> mit dem „spaceship operator“, <code>operator &lt;=&gt;</code></li> <li><a href="/wiki/Koroutine" title="Koroutine">Koroutinen</a></li> <li>ein Modulsystem zur Codekapselung und kürzeren Kompilierzeiten<sup id="cite_ref-41" class="reference"><a href="#cite_note-41"><span class="cite-bracket">&#91;</span>41<span class="cite-bracket">&#93;</span></a></sup></li> <li>std::format zur String-Interpolation. Es handelt sich um typsicheren und durch den Benutzer erweiterbaren Ersatz für sprintf und stringstreams, der sich stark an Python anlehnt.</li> <li>std::span als Verallgemeinerung des Konzeptes von string_view (C++17). Ein <i>span</i> beschreibt einen Speicherbereich durch einen Pointer und eine Größenangabe.</li></ul> <div class="mw-heading mw-heading4"><h4 id="C++23/26"><span id="C.2B.2B23.2F26"></span>C++23/26</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit&amp;section=33" title="Abschnitt bearbeiten: C++23/26" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=C%2B%2B&amp;action=edit&amp;section=33" title="Quellcode des Abschnitts bearbeiten: C++23/26"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>Reflection</li> <li>Executors</li> <li>Pattern Matching</li> <li>Networking<sup id="cite_ref-42" class="reference"><a href="#cite_note-42"><span class="cite-bracket">&#91;</span>42<span class="cite-bracket">&#93;</span></a></sup></li></ul> <div class="mw-heading mw-heading3"><h3 id="Der_Name_„C++“"><span id="Der_Name_.E2.80.9EC.2B.2B.E2.80.9C"></span>Der Name „C++“</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit&amp;section=34" title="Abschnitt bearbeiten: Der Name „C++“" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=C%2B%2B&amp;action=edit&amp;section=34" title="Quellcode des Abschnitts bearbeiten: Der Name „C++“"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Der Name C++ ist eine Wortschöpfung von Rick Mascitti, einem Mitarbeiter Stroustrups, und wurde zum ersten Mal im Dezember 1983 benutzt. Der Name kommt von der Verbindung der Vorgängersprache C und dem <a href="/wiki/Inkrement_und_Dekrement" title="Inkrement und Dekrement">Inkrement</a>-Operator <code>++</code>, der den Wert einer Variablen inkrementiert (um eins erhöht). Der Erfinder von C++, Bjarne Stroustrup, nannte C++ zunächst „C mit Klassen“ <i>(<span lang="en">C with classes</span>)</i>.<sup id="cite_ref-43" class="reference"><a href="#cite_note-43"><span class="cite-bracket">&#91;</span>43<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading2"><h2 id="Kritik">Kritik</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit&amp;section=35" title="Abschnitt bearbeiten: Kritik" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=C%2B%2B&amp;action=edit&amp;section=35" title="Quellcode des Abschnitts bearbeiten: Kritik"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Oft geäußerte Kritik an der Sprache umfasst beispielsweise: </p> <ul><li>C++ sei sehr komplex und fehleranfällig zu programmieren. Man müsse viel lernen und üben, um es gut zu beherrschen, und viele Features gelten als äußerst komplex.<sup id="cite_ref-44" class="reference"><a href="#cite_note-44"><span class="cite-bracket">&#91;</span>44<span class="cite-bracket">&#93;</span></a></sup></li> <li>C++ sei zu <i>low-level</i>-mäßig aufgebaut; während es viele Features von höher abstrahierenden Sprachen aufweist (Klassen, generische Klassen/Funktionen etc.), seien als wichtig empfundene Dinge, insbesondere <a href="/wiki/Garbage_Collection" title="Garbage Collection">Garbage Collection</a>, nicht vorhanden.<sup id="cite_ref-GarbageCollection_7-1" class="reference"><a href="#cite_note-GarbageCollection-7"><span class="cite-bracket">&#91;</span>7<span class="cite-bracket">&#93;</span></a></sup></li> <li>C++ gilt zwar als schnell, beispielsweise wegen der Möglichkeit, frei mit Pointern zu arbeiten, doch diese Leistung sei auf den heutigen, schnellen Computersystemen nur in Ausnahmefällen nötig: Während es sinnvoll sei, Betriebssysteme o.&#160;Ä. in C++ zu schreiben, sei es softwaretechnisch viel günstiger, Anwendungsprogramme in <a href="/wiki/H%C3%B6here_Programmiersprache" title="Höhere Programmiersprache">höheren Sprachen</a> zu schreiben, da diese leichter zu warten seien und immer noch eine ausreichende Leistung aufwiesen.<sup id="cite_ref-45" class="reference"><a href="#cite_note-45"><span class="cite-bracket">&#91;</span>45<span class="cite-bracket">&#93;</span></a></sup></li> <li>Typisch in Verbindung mit C++ ist das Zitat von Bjarne Stroustrup:</li></ul> <div class="Vorlage_Zitat" style="margin:1em 40px;"> <div style="margin:1em 0;"><blockquote lang="en" style="margin:0;"> <p>“In C++ it’s harder to shoot yourself in the foot, but when you do, you blow off your whole leg.” </p> </blockquote> <blockquote style="margin:.5em 0 0 0;" lang="de-Latn"> <p>„In C++ ist es schwieriger, sich selbst in den Fuß zu schießen, aber wenn man es tut, dann ist gleich das ganze Bein weg.“<sup id="cite_ref-46" class="reference"><a href="#cite_note-46"><span class="cite-bracket">&#91;</span>46<span class="cite-bracket">&#93;</span></a></sup> </p> </blockquote></div></div> <dl><dd>Soll heißen: C++ erleichtert zunächst vieles, aber es bringt gleichzeitig viele Mittel mit sich, die mit Bedacht eingesetzt werden müssen. Zum Beispiel können durch die dynamische Speicherallokation ohne <a href="/wiki/Garbage_Collection" title="Garbage Collection">automatische Speicherfreigabe</a> <a href="/wiki/Speicherleck" title="Speicherleck">Speicherlecks</a> entstehen. Zeiger können auf falsche Speicherbereiche verweisen und verstecktes Fehlverhalten erzeugen (<a href="/wiki/H%C3%A4ngender_Zeiger" title="Hängender Zeiger">Hängender Zeiger</a>).</dd></dl> <div class="mw-heading mw-heading2"><h2 id="Siehe_auch">Siehe auch</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit&amp;section=36" title="Abschnitt bearbeiten: Siehe auch" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=C%2B%2B&amp;action=edit&amp;section=36" title="Quellcode des Abschnitts bearbeiten: Siehe auch"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a href="/wiki/C%2B%2B/CLI" title="C++/CLI">C++/CLI</a></li> <li><a href="/wiki/Embedded_C%2B%2B" title="Embedded C++">Embedded C++</a>, ein Dialekt von C++, bei dem einige Sprachfeatures und Bibliotheksfunktionen entfernt wurden, um für <a href="/wiki/Eingebettetes_System" title="Eingebettetes System">eingebettete Systeme</a> geeigneter zu sein.</li> <li><a href="/wiki/Argument_dependent_name_lookup" title="Argument dependent name lookup">Argument dependent name lookup</a></li></ul> <div class="mw-heading mw-heading2"><h2 id="Literatur">Literatur</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit&amp;section=37" title="Abschnitt bearbeiten: Literatur" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=C%2B%2B&amp;action=edit&amp;section=37" title="Quellcode des Abschnitts bearbeiten: Literatur"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a href="/wiki/Bjarne_Stroustrup" title="Bjarne Stroustrup">Bjarne Stroustrup</a>&#58; <cite style="font-style:italic">Die C++-Programmiersprache: Aktuell zu C++11</cite>. Carl Hanser, 2015, <a href="/wiki/Spezial:ISBN-Suche/9783446439610" class="internal mw-magiclink-isbn">ISBN 978-3-446-43961-0</a> (Standardwerk zu C++, Grundkenntnisse in C von Vorteil).<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rfr_id=info:sid/de.wikipedia.org:C%2B%2B&amp;rft.au=Bjarne+Stroustrup&amp;rft.btitle=Die+C%2B%2B-Programmiersprache%3A+Aktuell+zu+C%2B%2B11&amp;rft.date=2015&amp;rft.genre=book&amp;rft.isbn=9783446439610&amp;rft.pub=Carl+Hanser" style="display:none">&#160;</span></li> <li>Bjarne Stroustrup&#58; <cite style="font-style:italic">The Design and Evolution of C++</cite>. Addison-Wesley, 1994, <a href="/wiki/Spezial:ISBN-Suche/0201543303" class="internal mw-magiclink-isbn">ISBN 0-201-54330-3</a> (Buch beschreibt die Entwicklung und das Design von C++; vom Sprachdesigner geschrieben).<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rfr_id=info:sid/de.wikipedia.org:C%2B%2B&amp;rft.au=Bjarne+Stroustrup&amp;rft.btitle=The+Design+and+Evolution+of+C%2B%2B&amp;rft.date=1994&amp;rft.genre=book&amp;rft.isbn=0201543303&amp;rft.pub=Addison-Wesley" style="display:none">&#160;</span></li> <li>Bjarne Stroustrup&#58; <cite style="font-style:italic">Programming – Principles and Practice Using C++</cite>. 3. überarbeitete Auflage. Addison-Wesley, 2024, <a href="/wiki/Spezial:ISBN-Suche/9780138308681" class="internal mw-magiclink-isbn">ISBN 978-0-13-830868-1</a> (Einführung in die Programmierung; Standardwerk für Einstiegsprogrammierkurse an der Universität Texas A&amp;M).<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rfr_id=info:sid/de.wikipedia.org:C%2B%2B&amp;rft.au=Bjarne+Stroustrup&amp;rft.btitle=Programming+-+Principles+and+Practice+Using+C%2B%2B&amp;rft.date=2024&amp;rft.edition=3.+%C3%BCberarbeitete&amp;rft.genre=book&amp;rft.isbn=9780138308681&amp;rft.pub=Addison-Wesley" style="display:none">&#160;</span></li> <li><a href="/wiki/Herb_Sutter" title="Herb Sutter">Herb Sutter</a>&#58; <cite style="font-style:italic">Exceptional C++</cite>. 1. Auflage. Addison-Wesley, 2000, <a href="/wiki/Spezial:ISBN-Suche/3827317118" class="internal mw-magiclink-isbn">ISBN 3-8273-1711-8</a> (Vertiefung vorhandener C++-Kenntnisse.).<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rfr_id=info:sid/de.wikipedia.org:C%2B%2B&amp;rft.au=Herb+Sutter&amp;rft.btitle=Exceptional+C%2B%2B&amp;rft.date=2000&amp;rft.edition=1.&amp;rft.genre=book&amp;rft.isbn=3827317118&amp;rft.pub=Addison-Wesley" style="display:none">&#160;</span></li> <li><a href="/wiki/Andrei_Alexandrescu" title="Andrei Alexandrescu">Andrei Alexandrescu</a>&#58; <cite style="font-style:italic">Modernes C++ Design – Generische Programmierung und Entwurfsmuster angewendet</cite>. 1. Auflage. Mitp-Verlag, 2003, <a href="/wiki/Spezial:ISBN-Suche/3826613473" class="internal mw-magiclink-isbn">ISBN 3-8266-1347-3</a> (Ein Standardwerk zur <a href="/wiki/C%2B%2B-Metaprogrammierung" title="C++-Metaprogrammierung">C++-Metaprogrammierung</a>, setzt ein tiefes Verständnis von C++ voraus.).<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rfr_id=info:sid/de.wikipedia.org:C%2B%2B&amp;rft.au=Andrei+Alexandrescu&amp;rft.btitle=Modernes+C%2B%2B+Design+-+Generische+Programmierung+und+Entwurfsmuster+angewendet&amp;rft.date=2003&amp;rft.edition=1.&amp;rft.genre=book&amp;rft.isbn=3826613473&amp;rft.pub=Mitp-Verlag" style="display:none">&#160;</span></li> <li><a href="/wiki/Ulrich_Breymann" title="Ulrich Breymann">Ulrich Breymann</a>&#58; <cite style="font-style:italic">C++ programmieren: C++ lernen – professionell anwenden – Lösungen nutzen</cite>. 7. überarbeitete Auflage. Carl Hanser, 2023, <a href="/wiki/Spezial:ISBN-Suche/9783446476899" class="internal mw-magiclink-isbn">ISBN 978-3-446-47689-9</a> (C++-Einführung aus dem Hochschulumfeld).<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rfr_id=info:sid/de.wikipedia.org:C%2B%2B&amp;rft.au=Ulrich+Breymann&amp;rft.btitle=C%2B%2B+programmieren%3A+C%2B%2B+lernen+-+professionell+anwenden+-+L%C3%B6sungen+nutzen&amp;rft.date=2023&amp;rft.edition=7.+%C3%BCberarbeitete&amp;rft.genre=book&amp;rft.isbn=9783446476899&amp;rft.pub=Carl+Hanser" style="display:none">&#160;</span></li> <li><a href="/wiki/Sibylle_Schupp" title="Sibylle Schupp">Sibylle Schupp</a>&#58; <cite style="font-style:italic">A Semantic Definition of Separate Type Checking in C++ with Concepts</cite>. (wissenschaftlicher Artikel). In: <cite style="font-style:italic">Journal of Object Technology</cite>. <span style="white-space:nowrap">Band<span style="display:inline-block;width:.2em">&#160;</span>8</span>, <span style="white-space:nowrap">Nr.<span style="display:inline-block;width:.2em">&#160;</span>5</span>, 2009, <span style="white-space:nowrap">S.<span style="display:inline-block;width:.2em">&#160;</span>105–132</span>, <a href="/wiki/Digital_Object_Identifier" title="Digital Object Identifier">doi</a>:<span class="uri-handle" style="white-space:nowrap"><a rel="nofollow" class="external text" href="https://doi.org/10.5381/jot.2009.8.5.a2">10.5381/jot.2009.8.5.a2</a></span>.<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rfr_id=info:sid/de.wikipedia.org:C%2B%2B&amp;rft.atitle=A+Semantic+Definition+of+Separate+Type+Checking+in+C%2B%2B+with+Concepts&amp;rft.au=Sibylle+Schupp&amp;rft.date=2009&amp;rft.doi=10.5381%2Fjot.2009.8.5.a2&amp;rft.genre=journal&amp;rft.issue=5&amp;rft.jtitle=Journal+of+Object+Technology&amp;rft.pages=105-132&amp;rft.volume=8" style="display:none">&#160;</span></li></ul> <div class="mw-heading mw-heading2"><h2 id="Weblinks">Weblinks</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit&amp;section=38" title="Abschnitt bearbeiten: Weblinks" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=C%2B%2B&amp;action=edit&amp;section=38" title="Quellcode des Abschnitts bearbeiten: Weblinks"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="sisterproject" style="margin:0.1em 0 0 0;"><div class="noviewer" style="display:inline-block; line-height:10px; min-width:1.6em; text-align:center;" aria-hidden="true" role="presentation"><span class="mw-default-size" typeof="mw:File"><span title="Wikibooks"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Wikibooks-logo.svg/16px-Wikibooks-logo.svg.png" decoding="async" width="16" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Wikibooks-logo.svg/24px-Wikibooks-logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Wikibooks-logo.svg/32px-Wikibooks-logo.svg.png 2x" data-file-width="300" data-file-height="300" /></span></span></div><b><a href="https://de.wikibooks.org/wiki/C%2B%2B-Programmierung" class="extiw" title="b:C++-Programmierung">Wikibooks: C++-Programmierung</a></b>&#160;– Lern- und Lehrmaterialien</div> <div class="sisterproject" style="margin:0.1em 0 0 0;"><span class="noviewer" style="display:inline-block; line-height:10px; min-width:1.6em; text-align:center;" aria-hidden="true" role="presentation"><span class="mw-default-size" typeof="mw:File"><span title="Wiktionary"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/c/c3/Wiktfavicon_en.svg/16px-Wiktfavicon_en.svg.png" decoding="async" width="16" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/c/c3/Wiktfavicon_en.svg/24px-Wiktfavicon_en.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/c/c3/Wiktfavicon_en.svg/32px-Wiktfavicon_en.svg.png 2x" data-file-width="16" data-file-height="16" /></span></span></span><b><a href="https://de.wiktionary.org/wiki/C%2B%2B" class="extiw" title="wikt:C++">Wiktionary: C++</a></b>&#160;– Bedeutungserklärungen, Wortherkunft, Synonyme, Übersetzungen</div> <ul><li><a rel="nofollow" class="external text" href="http://www.open-std.org/jtc1/sc22/wg21/">Webauftritt des C++-Standardisierungskomitees</a> (englisch)</li> <li><a rel="nofollow" class="external text" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3376.pdf">Working Draft, Standard for Programming Language C++</a> (englisch, PDF, 5,1&#160;MB)</li> <li><a rel="nofollow" class="external text" href="https://isocpp.org/">Standard C++ Foundation</a> (englisch)</li> <li><a rel="nofollow" class="external text" href="https://www.stroustrup.com/">Website von Bjarne Stroustrup mit dessen FAQs und starkem C++-Fokus</a> (englisch)</li> <li><a rel="nofollow" class="external text" href="https://en.cppreference.com/w/">C++ Reference</a>; Wiki zu C++ (primär englisch)</li> <li><a rel="nofollow" class="external text" href="https://fbb-git.gitlab.io/cppannotations/">C++ Annotations</a>, umfangreiche Einführung von Frank B. Brokken (englisch)</li></ul> <div class="mw-heading mw-heading2"><h2 id="Einzelnachweise">Einzelnachweise</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit&amp;section=39" title="Abschnitt bearbeiten: Einzelnachweise" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=C%2B%2B&amp;action=edit&amp;section=39" title="Quellcode des Abschnitts bearbeiten: Einzelnachweise"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-references-wrap mw-references-columns"><ol class="references"> <li id="cite_note-_a0b4258a7b1b1d39-1"><span class="mw-cite-backlink"><a href="#cite_ref-_a0b4258a7b1b1d39_1-0">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://www.iso.org/standard/83626.html"><cite style="font-style:italic"><span lang="en">ISO/IEC 14882:2024 - Programming languages — C++</span></cite>.</a> 19.&#160;Oktober 2024.</span> </li> <li id="cite_note-ISO14882-2014-2"><span class="mw-cite-backlink">↑ <sup><a href="#cite_ref-ISO14882-2014_2-0">a</a></sup> <sup><a href="#cite_ref-ISO14882-2014_2-1">b</a></sup> <sup><a href="#cite_ref-ISO14882-2014_2-2">c</a></sup></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="http://www.iso.org/iso/catalogue_detail.htm?csnumber=64029"><i>ISO/IEC 14882:2014 – Information technology -- Programming languages -- C++.</i></a>&#32;In:&#32;<i>www.iso.org.</i>&#32;Dezember 2014&#44;<span class="Abrufdatum">&#32;abgerufen am 22.&#160;September 2018</span>.</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Fde.wikipedia.org%3AC%2B%2B&amp;rft.title=ISO%2FIEC+14882%3A2014+%E2%80%93+Information+technology+--+Programming+languages+--+C%2B%2B&amp;rft.description=ISO%2FIEC+14882%3A2014+%E2%80%93+Information+technology+--+Programming+languages+--+C%2B%2B&amp;rft.identifier=http%3A%2F%2Fwww.iso.org%2Fiso%2Fcatalogue_detail.htm%3Fcsnumber%3D64029&amp;rft.date=2014-12">&#160;</span></span> </li> <li id="cite_note-ISO14882-2017-3"><span class="mw-cite-backlink"><a href="#cite_ref-ISO14882-2017_3-0">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="http://www.iso.org/iso/catalogue_detail.htm?csnumber=68564"><i>ISO/IEC 14882:2017 – Programming languages -- C++.</i></a>&#32;In:&#32;<i>www.iso.org.</i>&#32;Dezember 2017&#44;<span class="Abrufdatum">&#32;abgerufen am 22.&#160;September 2018</span>.</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Fde.wikipedia.org%3AC%2B%2B&amp;rft.title=ISO%2FIEC+14882%3A2017+%E2%80%93+Programming+languages+--+C%2B%2B&amp;rft.description=ISO%2FIEC+14882%3A2017+%E2%80%93+Programming+languages+--+C%2B%2B&amp;rft.identifier=http%3A%2F%2Fwww.iso.org%2Fiso%2Fcatalogue_detail.htm%3Fcsnumber%3D68564&amp;rft.date=2017-12">&#160;</span></span> </li> <li id="cite_note-ISO14882-2020-4"><span class="mw-cite-backlink"><a href="#cite_ref-ISO14882-2020_4-0">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://www.iso.org/standard/79358.html"><i>ISO/IEC 14882:2020 - Programming languages -- C++.</i></a>&#32;Dezember 2020&#44;<span class="Abrufdatum">&#32;abgerufen am 21.&#160;Oktober 2021</span>.</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Fde.wikipedia.org%3AC%2B%2B&amp;rft.title=ISO%2FIEC+14882%3A2020+-+Programming+languages+--+C%2B%2B&amp;rft.description=ISO%2FIEC+14882%3A2020+-+Programming+languages+--+C%2B%2B&amp;rft.identifier=https%3A%2F%2Fwww.iso.org%2Fstandard%2F79358.html&amp;rft.date=2020-12">&#160;</span></span> </li> <li id="cite_note-5"><span class="mw-cite-backlink"><a href="#cite_ref-5">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://docs.python.org/tutorial/classes.html"><i>9. Classes — Python 3.6.4 documentation.</i></a>&#32;In:&#32;<i>docs.python.org.</i><span class="Abrufdatum">&#32;Abgerufen am 17.&#160;Mai 2018</span>.</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Fde.wikipedia.org%3AC%2B%2B&amp;rft.title=9.+Classes+%E2%80%94+Python+3.6.4+documentation&amp;rft.description=9.+Classes+%E2%80%94+Python+3.6.4+documentation&amp;rft.identifier=https%3A%2F%2Fdocs.python.org%2Ftutorial%2Fclasses.html">&#160;</span></span> </li> <li id="cite_note-6"><span class="mw-cite-backlink"><a href="#cite_ref-6">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="http://www.lextrait.com/vincent/implementations.html"><i>The Programming Languages Beacon.</i></a>&#32;In:&#32;<i>lextrait.com.</i><span class="Abrufdatum">&#32;Abgerufen am 21.&#160;Januar 2018</span>&#32;(englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Fde.wikipedia.org%3AC%2B%2B&amp;rft.title=The+Programming+Languages+Beacon&amp;rft.description=The+Programming+Languages+Beacon&amp;rft.identifier=http%3A%2F%2Fwww.lextrait.com%2Fvincent%2Fimplementations.html&amp;rft.language=en">&#160;</span></span> </li> <li id="cite_note-GarbageCollection-7"><span class="mw-cite-backlink">↑ <sup><a href="#cite_ref-GarbageCollection_7-0">a</a></sup> <sup><a href="#cite_ref-GarbageCollection_7-1">b</a></sup></span> <span class="reference-text"><span class="cite">Bjarne Stroustrup:&#32;<a rel="nofollow" class="external text" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/1996/N0932.pdf"><i>Proposal to Acknowledge that Garbage Collection for C++ is Possible.</i></a>&#32;(PDF)&#32;1996&#44;<span class="Abrufdatum">&#32;abgerufen am 6.&#160;Juni 2015</span>&#32;(englisch)&#58;&#32;„The most loudly proclaimed fundamental weakness of C++ these days is the absence of automatic garbage collection. This criticism is harming C++’s reputation, scaring potential users away, and restricting the range of applications for which C++ is a strong contender as an implementation language. For many applications automatic garbage collection is indeed a very powerful tool and the right tool for the job.“</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Fde.wikipedia.org%3AC%2B%2B&amp;rft.title=Proposal+to+Acknowledge+that+Garbage+Collection+for+C%2B%2B+is+Possible&amp;rft.description=Proposal+to+Acknowledge+that+Garbage+Collection+for+C%2B%2B+is+Possible&amp;rft.identifier=http%3A%2F%2Fwww.open-std.org%2Fjtc1%2Fsc22%2Fwg21%2Fdocs%2Fpapers%2F1996%2FN0932.pdf&amp;rft.creator=Bjarne+Stroustrup&amp;rft.date=1996&amp;rft.language=en">&#160;</span></span> </li> <li id="cite_note-8"><span class="mw-cite-backlink"><a href="#cite_ref-8">↑</a></span> <span class="reference-text"><span class="cite">Hans-J. Boehm, Mike Spertus, Clark Nelson:&#32;<a rel="nofollow" class="external text" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2670.htm"><i>N2670: Minimal Support for Garbage Collection and Reachability-Based Leak Detection (revised).</i></a>&#32;In:&#32;<i>open-std.org.</i>&#32;13.&#160;Juni 2008&#44;<span class="Abrufdatum">&#32;abgerufen am 21.&#160;Januar 2018</span>&#32;(englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Fde.wikipedia.org%3AC%2B%2B&amp;rft.title=N2670%3A+Minimal+Support+for+Garbage+Collection+and+Reachability-Based+Leak+Detection+%28revised%29&amp;rft.description=N2670%3A+Minimal+Support+for+Garbage+Collection+and+Reachability-Based+Leak+Detection+%28revised%29&amp;rft.identifier=http%3A%2F%2Fwww.open-std.org%2Fjtc1%2Fsc22%2Fwg21%2Fdocs%2Fpapers%2F2008%2Fn2670.htm&amp;rft.creator=Hans-J.+Boehm%2C+Mike+Spertus%2C+Clark+Nelson&amp;rft.date=2008-06-13&amp;rft.language=en">&#160;</span></span> </li> <li id="cite_note-9"><span class="mw-cite-backlink"><a href="#cite_ref-9">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2310.pdf">Transparent Programmer-Directed Garbage Collection for C++</a> (PDF; 156&#160;kB).</span> </li> <li id="cite_note-10"><span class="mw-cite-backlink"><a href="#cite_ref-10">↑</a></span> <span class="reference-text">Bjarne Stroustrup: <a rel="nofollow" class="external text" href="http://www.stroustrup.com/bs_faq2.html#memory-leaks">C++-FAQ über Speicherlecks</a> (englisch); abgerufen am 3. Mai 2013.</span> </li> <li id="cite_note-11"><span class="mw-cite-backlink"><a href="#cite_ref-11">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://de.cppreference.com/w/cpp/memory/shared_ptr">std::shared_ptr auf cppreference.com</a>, Abschnitt Hinweise zur Umsetzung; abgerufen am 5. Juni 2020</span> </li> <li id="cite_note-12"><span class="mw-cite-backlink"><a href="#cite_ref-12">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://www.heise.de/developer/artikel/C-Vor-und-Nachteile-des-d-Zeiger-Idioms-Teil-1-1097781.html"><i>Das d-Zeiger-Idiom.</i></a> auf heise Developer.</span> </li> <li id="cite_note-13"><span class="mw-cite-backlink"><a href="#cite_ref-13">↑</a></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r246413598">.mw-parser-output .webarchiv-memento{color:var(--color-base,#202122)!important}</style><a rel="nofollow" class="external text" href="https://web.archive.org/web/20140822010845/http://www.indiedev.de/wiki/Undefiniertes_Verhalten_bei_mehrfacher_Zuweisung"><i>Undefiniertes Verhalten bei mehrfacher Zuweisung.</i></a> (<a href="/wiki/Web-Archivierung#Begrifflichkeiten" title="Web-Archivierung"><span class="webarchiv-memento">Memento</span></a> vom 22. August 2014 im <i><a href="/wiki/Internet_Archive" title="Internet Archive">Internet Archive</a></i>), abgerufen am 20. August 2014.</span> </li> <li id="cite_note-14"><span class="mw-cite-backlink"><a href="#cite_ref-14">↑</a></span> <span class="reference-text">Scott Meyers: <i>Effektiv C++ Programmieren.</i> Addison-Wesley, S. 22/23, 43/44 und 46, nach <a rel="nofollow" class="external text" href="http://books.google.de/books?id=8E5P-Sa0SCcC&amp;pg=PA23&amp;lpg=PA23&amp;dq=c%2B%2B+undefiniertes+verhalten&amp;source=bl&amp;ots=DjZMctDkCj&amp;sig=7-bBrXKpWZB2rciz0hSRYGrqVO0&amp;hl=de&amp;sa=X&amp;ei=uHn0U8LfJoKJ4gSK3IHQBg&amp;ved=0CF0Q6AEwCA#v=onepage&amp;q=c%2B%2B%20undefiniertes%20verhalten&amp;f=false">Google-Books</a>, abgerufen am 20. August 2014.</span> </li> <li id="cite_note-15"><span class="mw-cite-backlink"><a href="#cite_ref-15">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://florianjw.de/en/modern_cpp.html#undefined_behavior"><i>Myths and Missconceptions about C++, Abschnitt Undefined Behavior</i></a>, abgerufen am 20. Februar 2015 (englisch).</span> </li> <li id="cite_note-16"><span class="mw-cite-backlink"><a href="#cite_ref-16">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="http://www.stroustrup.com/bs_faq2.html#void-main"><i>Bjarne Stroustrup's C++ Style and Technique FAQ.</i></a>&#32;In:&#32;<i>www.stroustrup.com.</i>&#32;30.&#160;September 2017&#44;<span class="Abrufdatum">&#32;abgerufen am 22.&#160;September 2018</span>&#32;(englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Fde.wikipedia.org%3AC%2B%2B&amp;rft.title=Bjarne+Stroustrup%27s+C%2B%2B+Style+and+Technique+FAQ&amp;rft.description=Bjarne+Stroustrup%27s+C%2B%2B+Style+and+Technique+FAQ&amp;rft.identifier=http%3A%2F%2Fwww.stroustrup.com%2Fbs_faq2.html%23void-main&amp;rft.date=2017-09-30&amp;rft.language=en">&#160;</span></span> </li> <li id="cite_note-hopIII-17"><span class="mw-cite-backlink"><a href="#cite_ref-hopIII_17-0">↑</a></span> <span class="reference-text">Bjarne Stroustrup: <a rel="nofollow" class="external text" href="http://www.stroustrup.com/hopl-almost-final.pdf"><i>Evolving a language in and for the real world: C++ 1991–2006.</i></a> (PDF; 690&#160;kB).</span> </li> <li id="cite_note-18"><span class="mw-cite-backlink"><a href="#cite_ref-18">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="http://clang.llvm.org/"><i>Clang: a C language family frontend for LLVM.</i></a>&#32;In:&#32;<i>clang.llvm.org.</i><span class="Abrufdatum">&#32;Abgerufen am 22.&#160;September 2018</span>&#32;(englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Fde.wikipedia.org%3AC%2B%2B&amp;rft.title=Clang%3A+a+C+language+family+frontend+for+LLVM&amp;rft.description=Clang%3A+a+C+language+family+frontend+for+LLVM&amp;rft.identifier=http%3A%2F%2Fclang.llvm.org%2F&amp;rft.language=en">&#160;</span></span> </li> <li id="cite_note-19"><span class="mw-cite-backlink"><a href="#cite_ref-19">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="http://www.oracle.com/technetwork/server-storage/developerstudio/overview/index.html"><i>Oracle Developer Studio.</i></a>&#32;In:&#32;<i>www.oracle.com.</i><span class="Abrufdatum">&#32;Abgerufen am 22.&#160;September 2018</span>&#32;(englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Fde.wikipedia.org%3AC%2B%2B&amp;rft.title=Oracle+Developer+Studio&amp;rft.description=Oracle+Developer+Studio&amp;rft.identifier=http%3A%2F%2Fwww.oracle.com%2Ftechnetwork%2Fserver-storage%2Fdeveloperstudio%2Foverview%2Findex.html&amp;rft.language=en">&#160;</span></span> </li> <li id="cite_note-20"><span class="mw-cite-backlink"><a href="#cite_ref-20">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="http://www.turboexplorer.com/cpp"><i>Turbo C++ Community.</i></a>&#32;In:&#32;<i>www.turboexplorer.com.</i><span class="Abrufdatum">&#32;Abgerufen am 22.&#160;September 2018</span>&#32;(englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Fde.wikipedia.org%3AC%2B%2B&amp;rft.title=Turbo+C%2B%2B+Community&amp;rft.description=Turbo+C%2B%2B+Community&amp;rft.identifier=http%3A%2F%2Fwww.turboexplorer.com%2Fcpp&amp;rft.language=en">&#160;</span></span> </li> <li id="cite_note-21"><span class="mw-cite-backlink"><a href="#cite_ref-21">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://docs.oracle.com/javase/specs/jvms/se6/html/Introduction.doc.html"><i>Java – A Bit of History</i></a> oder Peter Drayton, Ted Neward, Ben Albahari&#58; <cite style="font-style:italic">C# in a Nutshell: A Desktop Quick Reference</cite>. 2. Auflage. O’Reilly, 2003, <a href="/wiki/Spezial:ISBN-Suche/9780596005269" class="internal mw-magiclink-isbn">ISBN 978-0-596-00526-9</a>.<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rfr_id=info:sid/de.wikipedia.org:C%2B%2B&amp;rft.au=Peter+Drayton%2C+Ted+Neward%2C+Ben+Albahari&amp;rft.btitle=C%23+in+a+Nutshell%3A+A+Desktop+Quick+Reference&amp;rft.date=2003&amp;rft.edition=2.&amp;rft.genre=book&amp;rft.isbn=9780596005269&amp;rft.pub=O%E2%80%99Reilly" style="display:none">&#160;</span></span> </li> <li id="cite_note-22"><span class="mw-cite-backlink"><a href="#cite_ref-22">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://www.heise.de/newsticker/meldung/C-11-einstimmig-als-Standard-angenommen-1322726.html"><i>C++11 einstimmig als Standard angenommen.</i></a> auf <a href="/wiki/Heise_online" title="Heise online">Heise online</a>, 13.&#160;August 2011.</span> </li> <li id="cite_note-23"><span class="mw-cite-backlink"><a href="#cite_ref-23">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://www.heise.de/newsticker/meldung/Neue-C-Version-als-ISO-IEC-Standard-veroeffentlicht-1358642.html"><i>Neue C++-Version als ISO/IEC-Standard veröffentlicht.</i></a> Heise online, 11.&#160;Oktober 2011.</span> </li> <li id="cite_note-24"><span class="mw-cite-backlink"><a href="#cite_ref-24">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.golem.de/1110/86960.html"><i>Programmiersprache: ISO veröffentlicht C++11.</i></a> <a href="/wiki/Golem.de" title="Golem.de">Golem.de</a>, 11.&#160;Oktober 2011.</span> </li> <li id="cite_note-25"><span class="mw-cite-backlink"><a href="#cite_ref-25">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="http://www.stroustrup.com/C++11FAQ.html"><i>C++11 – the new ISO C++ standard.</i></a>&#32;In:&#32;<i>www.stroustrup.com.</i><span class="Abrufdatum">&#32;Abgerufen am 22.&#160;September 2018</span>&#32;(englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Fde.wikipedia.org%3AC%2B%2B&amp;rft.title=C%2B%2B11+%E2%80%93+the+new+ISO+C%2B%2B+standard&amp;rft.description=C%2B%2B11+%E2%80%93+the+new+ISO+C%2B%2B+standard&amp;rft.identifier=http%3A%2F%2Fwww.stroustrup.com%2FC%2B%2B11FAQ.html&amp;rft.language=en">&#160;</span></span> </li> <li id="cite_note-26"><span class="mw-cite-backlink"><a href="#cite_ref-26">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2003/n1429.htm"><i>A Proposal to add Regular Expressions to the Standard Library.</i></a> bei <i>Open Standards.</i> 3.&#160;März 2003 (englisch).</span> </li> <li id="cite_note-27"><span class="mw-cite-backlink"><a href="#cite_ref-27">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2003/n1450.html"><i>A Proposal to Add General Purpose Smart Pointers to the Library Technical Report</i>.</a> bei <i>Open Standards.</i> 27.&#160;März 2003 (englisch)</span> </li> <li id="cite_note-28"><span class="mw-cite-backlink"><a href="#cite_ref-28">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2003/n1456.html"><i>A Proposal to Add Hash Tables to the Standard Library.</i></a> bei <i>Open Standards.</i> 9.&#160;April 2003 (englisch).</span> </li> <li id="cite_note-29"><span class="mw-cite-backlink"><a href="#cite_ref-29">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2003/n1452.html"><i>A Proposal to Add an Extensible Random Number Facility to the Standard Library.</i></a> bei <i>Open Standards.</i> 10.&#160;April 2003 (englisch).</span> </li> <li id="cite_note-30"><span class="mw-cite-backlink"><a href="#cite_ref-30">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2002/n1403.pdf"><i>Proposal for adding tuple types into the standard library.</i></a> (PDF; 164&#160;kB) bei <i>Open Standards.</i> 8.&#160;November 2002 (englisch).</span> </li> <li id="cite_note-31"><span class="mw-cite-backlink"><a href="#cite_ref-31">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2003/n1422.html"><i>A Proposal to Add Mathematical Special Functions to the C++ Standard Library.</i></a> bei <i>Open Standards.</i> 24.&#160;Februar 2003 (englisch).</span> </li> <li id="cite_note-32"><span class="mw-cite-backlink"><a href="#cite_ref-32">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1568.htm"><i>ISO/IEC JTC1/SC22/WG21 N1568.</i></a> bei <i>Open Standards</i>, von 2004 (englisch).</span> </li> <li id="cite_note-33"><span class="mw-cite-backlink"><a href="#cite_ref-33">↑</a></span> <span class="reference-text">B. Stroustrup: <a rel="nofollow" class="external text" href="http://www.stroustrup.com/C++11FAQ.html">C++11 FAQ</a></span> </li> <li id="cite_note-34"><span class="mw-cite-backlink"><a href="#cite_ref-34">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.open-std.org/jtc1/sc22/wg21/docs/TR18015.pdf">ISO Technical Report on C++ Performance</a> (PDF; 1,2&#160;MB)</span> </li> <li id="cite_note-35"><span class="mw-cite-backlink"><a href="#cite_ref-35">↑</a></span> <span class="reference-text">MSDN: <a rel="nofollow" class="external text" href="https://msdn.microsoft.com/de-de/library/hh567368.aspx">Unterstützung für C++11/14/17-Funktionen (Modern C++)</a> Unterstützung von C++11/14/17-Features durch Microsoft-Compiler</span> </li> <li id="cite_note-36"><span class="mw-cite-backlink"><a href="#cite_ref-36">↑</a></span> <span class="reference-text">The GNU Compiler Collection: <a rel="nofollow" class="external text" href="https://gcc.gnu.org/gcc-4.7/cxx0x_status.html">Status of Experimental C++11 Support in GCC 4.7</a> Unterstützung von C++11-Features durch den gcc</span> </li> <li id="cite_note-37"><span class="mw-cite-backlink"><a href="#cite_ref-37">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://www.heise.de/developer/meldung/Programmiersprachen-C-17-ist-technisch-fertig-3664796.html"><i>Programmiersprachen: C++17 ist technisch fertig.</i></a>&#32;heise.de&#44;<span class="Abrufdatum">&#32;abgerufen am 17.&#160;Juli 2017</span>.</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Fde.wikipedia.org%3AC%2B%2B&amp;rft.title=Programmiersprachen%3A+C%2B%2B17+ist+technisch+fertig&amp;rft.description=Programmiersprachen%3A+C%2B%2B17+ist+technisch+fertig&amp;rft.identifier=https%3A%2F%2Fwww.heise.de%2Fdeveloper%2Fmeldung%2FProgrammiersprachen-C-17-ist-technisch-fertig-3664796.html&amp;rft.publisher=heise.de">&#160;</span></span> </li> <li id="cite_note-38"><span class="mw-cite-backlink"><a href="#cite_ref-38">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="http://clang.llvm.org/cxx_status.html#cxx17"><i>C++ Support in Clang. C++17 implementation status.</i></a>&#32;In:&#32;<i>clang.llvm.org.</i>&#32;22.&#160;September 2018&#44;<span class="Abrufdatum">&#32;abgerufen am 22.&#160;September 2018</span>&#32;(englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Fde.wikipedia.org%3AC%2B%2B&amp;rft.title=C%2B%2B+Support+in+Clang.+C%2B%2B17+implementation+status&amp;rft.description=C%2B%2B+Support+in+Clang.+C%2B%2B17+implementation+status&amp;rft.identifier=http%3A%2F%2Fclang.llvm.org%2Fcxx_status.html%23cxx17&amp;rft.date=2018-09-22&amp;rft.language=en">&#160;</span></span> </li> <li id="cite_note-39"><span class="mw-cite-backlink"><a href="#cite_ref-39">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://herbsutter.com/2017/07/15/trip-report-summer-iso-c-standards-meeting-toronto/"><i>Trip report: Summer ISO C++ standards meeting (Toronto).</i></a>&#32;herbsutter.com&#44;<span class="Abrufdatum">&#32;abgerufen am 17.&#160;Juli 2017</span>&#32;(englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Fde.wikipedia.org%3AC%2B%2B&amp;rft.title=Trip+report%3A+Summer+ISO+C%2B%2B+standards+meeting+%28Toronto%29&amp;rft.description=Trip+report%3A+Summer+ISO+C%2B%2B+standards+meeting+%28Toronto%29&amp;rft.identifier=https%3A%2F%2Fherbsutter.com%2F2017%2F07%2F15%2Ftrip-report-summer-iso-c-standards-meeting-toronto%2F&amp;rft.publisher=herbsutter.com&amp;rft.language=en">&#160;</span></span> </li> <li id="cite_note-40"><span class="mw-cite-backlink"><a href="#cite_ref-40">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://www.iso.org/cms/render/live/en/sites/isoorg/contents/data/standard/07/93/79358.html"><i>ISO/IEC 14882:2020.</i></a>&#32;In:&#32;<i>iso.org.</i><span class="Abrufdatum">&#32;Abgerufen am 31.&#160;Januar 2022</span>&#32;(englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Fde.wikipedia.org%3AC%2B%2B&amp;rft.title=ISO%2FIEC+14882%3A2020&amp;rft.description=ISO%2FIEC+14882%3A2020&amp;rft.identifier=https%3A%2F%2Fwww.iso.org%2Fcms%2Frender%2Flive%2Fen%2Fsites%2Fisoorg%2Fcontents%2Fdata%2Fstandard%2F07%2F93%2F79358.html&amp;rft.language=en">&#160;</span></span> </li> <li id="cite_note-41"><span class="mw-cite-backlink"><a href="#cite_ref-41">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://vector-of-bool.github.io/2019/01/27/modules-doa.html"><i>C++ Modules Might Be Dead-on-Arrival.</i></a>&#32;In:&#32;<i>vector-of-bool.github.io.</i><span class="Abrufdatum">&#32;Abgerufen am 21.&#160;Mai 2019</span>&#32;(englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Fde.wikipedia.org%3AC%2B%2B&amp;rft.title=C%2B%2B+Modules+Might+Be+Dead-on-Arrival&amp;rft.description=C%2B%2B+Modules+Might+Be+Dead-on-Arrival&amp;rft.identifier=https%3A%2F%2Fvector-of-bool.github.io%2F2019%2F01%2F27%2Fmodules-doa.html&amp;rft.language=en">&#160;</span></span> </li> <li id="cite_note-42"><span class="mw-cite-backlink"><a href="#cite_ref-42">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://www.reddit.com/r/cpp/comments/au0c4x/201902_kona_iso_c_committee_trip_report_c20/"><i>r/cpp – 2019-02 Kona ISO C++ Committee Trip Report (C++20 design is complete; Modules in C++20; Coroutines in C++20; Reflection TS v1 published; work begins on a C++ Ecosystem Technical Report).</i></a><span class="Abrufdatum">&#32;Abgerufen am 22.&#160;August 2019</span>&#32;(englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Fde.wikipedia.org%3AC%2B%2B&amp;rft.title=r%2Fcpp+%E2%80%93+2019-02+Kona+ISO+C%2B%2B+Committee+Trip+Report+%28C%2B%2B20+design+is+complete%3B+Modules+in+C%2B%2B20%3B+Coroutines+in+C%2B%2B20%3B+Reflection+TS+v1+published%3B+work+begins+on+a+C%2B%2B+Ecosystem+Technical+Report%29&amp;rft.description=r%2Fcpp+%E2%80%93+2019-02+Kona+ISO+C%2B%2B+Committee+Trip+Report+%28C%2B%2B20+design+is+complete%3B+Modules+in+C%2B%2B20%3B+Coroutines+in+C%2B%2B20%3B+Reflection+TS+v1+published%3B+work+begins+on+a+C%2B%2B+Ecosystem+Technical+Report%29&amp;rft.identifier=https%3A%2F%2Fwww.reddit.com%2Fr%2Fcpp%2Fcomments%2Fau0c4x%2F201902_kona_iso_c_committee_trip_report_c20%2F&amp;rft.language=en">&#160;</span></span> </li> <li id="cite_note-43"><span class="mw-cite-backlink"><a href="#cite_ref-43">↑</a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r246413598"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20110926063620/http://www2.research.att.com/~bs/bs_faq.html#invention">When was C++ invented?</a> (<a href="/wiki/Web-Archivierung#Begrifflichkeiten" title="Web-Archivierung"><span class="webarchiv-memento">Memento</span></a> vom 26. September 2011 im <i><a href="/wiki/Internet_Archive" title="Internet Archive">Internet Archive</a></i>) (englisch) – FAQ-Eintrag bei <i><a href="/wiki/AT%26T_Labs_Research" class="mw-redirect" title="AT&amp;T Labs Research">AT&amp;T Labs Research</a></i>; Stand: 4.&#160;Juli 2011.</span> </li> <li id="cite_note-44"><span class="mw-cite-backlink"><a href="#cite_ref-44">↑</a></span> <span class="reference-text"><span class="cite">Ian Joyner:&#32;<a rel="nofollow" class="external text" href="http://www.literateprogramming.com/c++critique.pdf"><i>C++?? A Critique of C++.</i></a>&#32;(PDF)&#32;November 1992,&#32;<span style="white-space:nowrap;">S.&#32;27–29</span>&#44;<span class="Abrufdatum">&#32;abgerufen am 6.&#160;Juni 2015</span>&#32;(englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Fde.wikipedia.org%3AC%2B%2B&amp;rft.title=C%2B%2B%3F%3F+A+Critique+of+C%2B%2B&amp;rft.description=C%2B%2B%3F%3F+A+Critique+of+C%2B%2B&amp;rft.identifier=http%3A%2F%2Fwww.literateprogramming.com%2Fc%2B%2Bcritique.pdf&amp;rft.creator=Ian+Joyner&amp;rft.date=1992-11&amp;rft.language=en">&#160;</span></span> </li> <li id="cite_note-45"><span class="mw-cite-backlink"><a href="#cite_ref-45">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20140226162552/http://www.codinghorror.com/blog/2007/01/the-problem-with-c.html"><i>The Problem With C++.</i></a>&#32;In:&#32;<i>www.codinghorror.com.</i>&#32;12.&#160;Januar 2007,&#32;archiviert&#32;vom&#32;<style data-mw-deduplicate="TemplateStyles:r235239667">.mw-parser-output .dewiki-iconexternal>a{background-position:center right;background-repeat:no-repeat}body.skin-minerva .mw-parser-output .dewiki-iconexternal>a{background-image:url("https://upload.wikimedia.org/wikipedia/commons/a/a4/OOjs_UI_icon_external-link-ltr-progressive.svg")!important;background-size:10px;padding-right:13px!important}body.skin-timeless .mw-parser-output .dewiki-iconexternal>a,body.skin-monobook .mw-parser-output .dewiki-iconexternal>a{background-image:url("https://upload.wikimedia.org/wikipedia/commons/3/30/MediaWiki_external_link_icon.svg")!important;padding-right:13px!important}body.skin-vector .mw-parser-output .dewiki-iconexternal>a{background-image:url("https://upload.wikimedia.org/wikipedia/commons/9/96/Link-external-small-ltr-progressive.svg")!important;background-size:0.857em;padding-right:1em!important}</style><span class="dewiki-iconexternal"><a class="external text" href="https://redirecter.toolforge.org/?url=http%3A%2F%2Fwww.codinghorror.com%2Fblog%2F2007%2F01%2Fthe-problem-with-c.html">Original</a></span>&#32;(nicht mehr online verfügbar)&#32;am&#32;<span style="white-space:nowrap;">26.&#160;Februar 2014</span><span>;</span><span class="Abrufdatum">&#32;abgerufen am 22.&#160;September 2018</span>&#32;(englisch).</span>&#32;<small class="archiv-bot"><span class="wp_boppel noviewer" aria-hidden="true" role="presentation"><span typeof="mw:File"><span title="i"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Pictogram_voting_info.svg/15px-Pictogram_voting_info.svg.png" decoding="async" width="15" height="15" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Pictogram_voting_info.svg/23px-Pictogram_voting_info.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Pictogram_voting_info.svg/30px-Pictogram_voting_info.svg.png 2x" data-file-width="250" data-file-height="250" /></span></span></span>&#160;<b>Info:</b> Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß <a href="/wiki/Benutzer:InternetArchiveBot/Anleitung/Archivlink" title="Benutzer:InternetArchiveBot/Anleitung/Archivlink">Anleitung</a> und entferne dann diesen Hinweis.</small><span style="display:none"><a rel="nofollow" class="external text" href="http://IABotmemento.invalid/http://www.codinghorror.com/blog/2007/01/the-problem-with-c.html">@1</a></span><span style="display:none"><a rel="nofollow" class="external text" href="http://www.codinghorror.com/blog/2007/01/the-problem-with-c.html">@2</a></span><span style="display:none"><a href="/w/index.php?title=Vorlage:Webachiv/IABot/www.codinghorror.com&amp;action=edit&amp;redlink=1" class="new" title="Vorlage:Webachiv/IABot/www.codinghorror.com (Seite nicht vorhanden)">Vorlage:Webachiv/IABot/www.codinghorror.com</a></span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Fde.wikipedia.org%3AC%2B%2B&amp;rft.title=The+Problem+With+C%2B%2B&amp;rft.description=The+Problem+With+C%2B%2B&amp;rft.identifier=https%3A%2F%2Fweb.archive.org%2Fweb%2F20140226162552%2Fhttp%3A%2F%2Fwww.codinghorror.com%2Fblog%2F2007%2F01%2Fthe-problem-with-c.html&amp;rft.date=2007-01-12&amp;rft.source=http&#58;//www.codinghorror.com/blog/2007/01/the-problem-with-c.html&amp;rft.language=en">&#160;</span></span> </li> <li id="cite_note-46"><span class="mw-cite-backlink"><a href="#cite_ref-46">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="http://www.stroustrup.com/bs_faq.html#really-say-that"><i>Bjarne Stroustrup's FAQ. Did you really say that?</i></a>&#32;In:&#32;<i>www.stroustrup.com.</i>&#32;18.&#160;März 2018&#44;<span class="Abrufdatum">&#32;abgerufen am 22.&#160;September 2018</span>&#32;(englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Fde.wikipedia.org%3AC%2B%2B&amp;rft.title=Bjarne+Stroustrup%27s+FAQ.+Did+you+really+say+that%3F&amp;rft.description=Bjarne+Stroustrup%27s+FAQ.+Did+you+really+say+that%3F&amp;rft.identifier=http%3A%2F%2Fwww.stroustrup.com%2Fbs_faq.html%23really-say-that&amp;rft.date=2018-03-18&amp;rft.language=en">&#160;</span></span> </li> </ol></div> <div class="hintergrundfarbe1 rahmenfarbe1 navigation-not-searchable normdaten-typ-s" style="border-style: solid; border-width: 1px; clear: left; margin-bottom:1em; margin-top:1em; padding: 0.25em; overflow: hidden; word-break: break-word; word-wrap: break-word;" id="normdaten"> <div style="display: table-cell; vertical-align: middle; width: 100%;"> <div> Normdaten&#160;(Sachbegriff): <a href="/wiki/Gemeinsame_Normdatei" title="Gemeinsame Normdatei">GND</a>: <span class="plainlinks-print"><a rel="nofollow" class="external text" href="https://d-nb.info/gnd/4193909-8">4193909-8</a></span> <span class="noprint">(<a rel="nofollow" class="external text" href="https://lobid.org/gnd/4193909-8">lobid</a>, <a rel="nofollow" class="external text" href="https://swb.bsz-bw.de/DB=2.104/SET=1/TTL=1/CMD?retrace=0&amp;trm_old=&amp;ACT=SRCHA&amp;IKT=2999&amp;SRT=RLV&amp;TRM=4193909-8">OGND</a><span class="metadata">, <a rel="nofollow" class="external text" href="https://prometheus.lmu.de/gnd/4193909-8">AKS</a></span>)</span> <span class="metadata"></span></div> </div></div></div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1&amp;useformat=desktop" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Abgerufen von „<a dir="ltr" href="https://de.wikipedia.org/w/index.php?title=C%2B%2B&amp;oldid=249965104">https://de.wikipedia.org/w/index.php?title=C%2B%2B&amp;oldid=249965104</a>“</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Wikipedia:Kategorien" title="Wikipedia:Kategorien">Kategorien</a>: <ul><li><a href="/wiki/Kategorie:Wikipedia:Veraltet_seit_2022" title="Kategorie:Wikipedia:Veraltet seit 2022">Wikipedia:Veraltet seit 2022</a></li><li><a href="/wiki/Kategorie:C%2B%2B" title="Kategorie:C++">C++</a></li><li><a href="/wiki/Kategorie:Imperative_Programmiersprache" title="Kategorie:Imperative Programmiersprache">Imperative Programmiersprache</a></li><li><a href="/wiki/Kategorie:Objektorientierte_Programmiersprache" title="Kategorie:Objektorientierte Programmiersprache">Objektorientierte Programmiersprache</a></li><li><a href="/wiki/Kategorie:Programmiersprache_mit_einem_ISO-Standard" title="Kategorie:Programmiersprache mit einem ISO-Standard">Programmiersprache mit einem ISO-Standard</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Versteckte Kategorie: <ul><li><a href="/wiki/Kategorie:Wikipedia:Defekte_Weblinks/Ungepr%C3%BCfte_Archivlinks_2024-08" title="Kategorie:Wikipedia:Defekte Weblinks/Ungeprüfte Archivlinks 2024-08">Wikipedia:Defekte Weblinks/Ungeprüfte Archivlinks 2024-08</a></li></ul></div></div> </div> </div> <div id="mw-navigation"> <h2>Navigationsmenü</h2> <div id="mw-head"> <nav id="p-personal" class="mw-portlet mw-portlet-personal vector-user-menu-legacy vector-menu" aria-labelledby="p-personal-label" > <h3 id="p-personal-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Meine Werkzeuge</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anonuserpage" class="mw-list-item"><span title="Benutzerseite der IP-Adresse, von der aus du Änderungen durchführst">Nicht angemeldet</span></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Spezial:Meine_Diskussionsseite" title="Diskussion über Änderungen von dieser IP-Adresse [n]" accesskey="n"><span>Diskussionsseite</span></a></li><li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Spezial:Meine_Beitr%C3%A4ge" title="Eine Liste der Bearbeitungen, die von dieser IP-Adresse gemacht wurden [y]" accesskey="y"><span>Beiträge</span></a></li><li id="pt-createaccount" class="mw-list-item"><a href="/w/index.php?title=Spezial:Benutzerkonto_anlegen&amp;returnto=C%2B%2B" title="Wir ermutigen dich dazu, ein Benutzerkonto zu erstellen und dich anzumelden. Es ist jedoch nicht zwingend erforderlich."><span>Benutzerkonto erstellen</span></a></li><li id="pt-login" class="mw-list-item"><a href="/w/index.php?title=Spezial:Anmelden&amp;returnto=C%2B%2B" title="Anmelden ist zwar keine Pflicht, wird aber gerne gesehen. [o]" accesskey="o"><span>Anmelden</span></a></li> </ul> </div> </nav> <div id="left-navigation"> <nav id="p-namespaces" class="mw-portlet mw-portlet-namespaces vector-menu-tabs vector-menu-tabs-legacy vector-menu" aria-labelledby="p-namespaces-label" > <h3 id="p-namespaces-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Namensräume</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected mw-list-item"><a href="/wiki/C%2B%2B" title="Seiteninhalt anzeigen [c]" accesskey="c"><span>Artikel</span></a></li><li id="ca-talk" class="mw-list-item"><a href="/wiki/Diskussion:C%2B%2B" rel="discussion" title="Diskussion zum Seiteninhalt [t]" accesskey="t"><span>Diskussion</span></a></li> </ul> </div> </nav> <nav id="p-variants" class="mw-portlet mw-portlet-variants emptyPortlet vector-menu-dropdown vector-menu" aria-labelledby="p-variants-label" > <input type="checkbox" id="p-variants-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-variants" class="vector-menu-checkbox" aria-labelledby="p-variants-label" > <label id="p-variants-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Deutsch</span> </label> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </nav> </div> <div id="right-navigation"> <nav id="p-views" class="mw-portlet mw-portlet-views vector-menu-tabs vector-menu-tabs-legacy vector-menu" aria-labelledby="p-views-label" > <h3 id="p-views-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Ansichten</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected mw-list-item"><a href="/wiki/C%2B%2B"><span>Lesen</span></a></li><li id="ca-ve-edit" class="mw-list-item"><a href="/w/index.php?title=C%2B%2B&amp;veaction=edit" title="Diese Seite mit dem VisualEditor bearbeiten [v]" accesskey="v"><span>Bearbeiten</span></a></li><li id="ca-edit" class="collapsible mw-list-item"><a href="/w/index.php?title=C%2B%2B&amp;action=edit" title="Den Quelltext dieser Seite bearbeiten [e]" accesskey="e"><span>Quelltext bearbeiten</span></a></li><li id="ca-history" class="mw-list-item"><a href="/w/index.php?title=C%2B%2B&amp;action=history" title="Frühere Versionen dieser Seite [h]" accesskey="h"><span>Versionsgeschichte</span></a></li> </ul> </div> </nav> <nav id="p-cactions" class="mw-portlet mw-portlet-cactions emptyPortlet vector-menu-dropdown vector-menu" aria-labelledby="p-cactions-label" title="Weitere Optionen" > <input type="checkbox" id="p-cactions-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-cactions" class="vector-menu-checkbox" aria-labelledby="p-cactions-label" > <label id="p-cactions-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Weitere</span> </label> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </nav> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <h3 >Suche</h3> <form action="/w/index.php" id="searchform" class="vector-search-box-form"> <div id="simpleSearch" class="vector-search-box-inner" data-search-loc="header-navigation"> <input class="vector-search-box-input" type="search" name="search" placeholder="Wikipedia durchsuchen" aria-label="Wikipedia durchsuchen" autocapitalize="sentences" title="Durchsuche die Wikipedia [f]" accesskey="f" id="searchInput" > <input type="hidden" name="title" value="Spezial:Suche"> <input id="mw-searchButton" class="searchButton mw-fallbackSearchButton" type="submit" name="fulltext" title="Suche nach Seiten, die diesen Text enthalten" value="Suchen"> <input id="searchButton" class="searchButton" type="submit" name="go" title="Gehe direkt zu der Seite mit genau diesem Namen, falls sie vorhanden ist." value="Artikel"> </div> </form> </div> </div> </div> <div id="mw-panel" class="vector-legacy-sidebar"> <div id="p-logo" role="banner"> <a class="mw-wiki-logo" href="/wiki/Wikipedia:Hauptseite" title="Hauptseite"></a> </div> <nav id="p-navigation" class="mw-portlet mw-portlet-navigation vector-menu-portal portal vector-menu" aria-labelledby="p-navigation-label" > <h3 id="p-navigation-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Navigation</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Wikipedia:Hauptseite" title="Hauptseite besuchen [z]" accesskey="z"><span>Hauptseite</span></a></li><li id="n-topics" class="mw-list-item"><a href="/wiki/Portal:Wikipedia_nach_Themen"><span>Themenportale</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Spezial:Zuf%C3%A4llige_Seite" title="Zufällige Seite aufrufen [x]" accesskey="x"><span>Zufälliger Artikel</span></a></li> </ul> </div> </nav> <nav id="p-Mitmachen" class="mw-portlet mw-portlet-Mitmachen vector-menu-portal portal vector-menu" aria-labelledby="p-Mitmachen-label" > <h3 id="p-Mitmachen-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Mitmachen</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-Artikel-verbessern" class="mw-list-item"><a href="/wiki/Wikipedia:Beteiligen"><span>Artikel verbessern</span></a></li><li id="n-Neuerartikel" class="mw-list-item"><a href="/wiki/Hilfe:Neuen_Artikel_anlegen"><span>Neuen Artikel anlegen</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Autorenportal" title="Info-Zentrum über Beteiligungsmöglichkeiten"><span>Autorenportal</span></a></li><li id="n-help" class="mw-list-item"><a href="/wiki/Hilfe:%C3%9Cbersicht" title="Übersicht über Hilfeseiten"><span>Hilfe</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Spezial:Letzte_%C3%84nderungen" title="Liste der letzten Änderungen in Wikipedia [r]" accesskey="r"><span>Letzte Änderungen</span></a></li><li id="n-contact" class="mw-list-item"><a href="/wiki/Wikipedia:Kontakt" title="Kontaktmöglichkeiten"><span>Kontakt</span></a></li><li id="n-sitesupport" class="mw-list-item"><a href="//donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&amp;utm_medium=sidebar&amp;utm_campaign=C13_de.wikipedia.org&amp;uselang=de" title="Unterstütze uns"><span>Spenden</span></a></li> </ul> </div> </nav> <nav id="p-tb" class="mw-portlet mw-portlet-tb vector-menu-portal portal vector-menu" aria-labelledby="p-tb-label" > <h3 id="p-tb-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Werkzeuge</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Spezial:Linkliste/C%2B%2B" title="Liste aller Seiten, die hierher verlinken [j]" accesskey="j"><span>Links auf diese Seite</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Spezial:%C3%84nderungen_an_verlinkten_Seiten/C%2B%2B" rel="nofollow" title="Letzte Änderungen an Seiten, die von hier verlinkt sind [k]" accesskey="k"><span>Änderungen an verlinkten Seiten</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Spezial:Spezialseiten" title="Liste aller Spezialseiten [q]" accesskey="q"><span>Spezialseiten</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=C%2B%2B&amp;oldid=249965104" title="Dauerhafter Link zu dieser Seitenversion"><span>Permanenter Link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=C%2B%2B&amp;action=info" title="Weitere Informationen über diese Seite"><span>Seiten­­informationen</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Spezial:Zitierhilfe&amp;page=C%2B%2B&amp;id=249965104&amp;wpFormIdentifier=titleform" title="Hinweise, wie diese Seite zitiert werden kann"><span>Artikel zitieren</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Spezial:URL-K%C3%BCrzung&amp;url=https%3A%2F%2Fde.wikipedia.org%2Fwiki%2FC%252B%252B"><span>Kurzlink</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Spezial:QrCode&amp;url=https%3A%2F%2Fde.wikipedia.org%2Fwiki%2FC%252B%252B"><span>QR-Code herunterladen</span></a></li> </ul> </div> </nav> <nav id="p-coll-print_export" class="mw-portlet mw-portlet-coll-print_export vector-menu-portal portal vector-menu" aria-labelledby="p-coll-print_export-label" > <h3 id="p-coll-print_export-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Drucken/​exportieren</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Spezial:DownloadAsPdf&amp;page=C%2B%2B&amp;action=show-download-screen"><span>Als PDF herunterladen</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=C%2B%2B&amp;printable=yes" title="Druckansicht dieser Seite [p]" accesskey="p"><span>Druckversion</span></a></li> </ul> </div> </nav> <nav id="p-wikibase-otherprojects" class="mw-portlet mw-portlet-wikibase-otherprojects vector-menu-portal portal vector-menu" aria-labelledby="p-wikibase-otherprojects-label" > <h3 id="p-wikibase-otherprojects-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">In anderen Projekten</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="wb-otherproject-link wb-otherproject-commons mw-list-item"><a href="https://commons.wikimedia.org/wiki/Category:C%2B%2B" hreflang="en"><span>Commons</span></a></li><li class="wb-otherproject-link wb-otherproject-wikibooks mw-list-item"><a href="https://de.wikibooks.org/wiki/C%2B%2B-Programmierung" hreflang="de"><span>Wikibooks</span></a></li><li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q2407" title="Link zum verbundenen Objekt im Datenrepositorium [g]" accesskey="g"><span>Wikidata-Datenobjekt</span></a></li> </ul> </div> </nav> <nav id="p-lang" class="mw-portlet mw-portlet-lang vector-menu-portal portal vector-menu" aria-labelledby="p-lang-label" > <h3 id="p-lang-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">In anderen Sprachen</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-af mw-list-item"><a href="https://af.wikipedia.org/wiki/C%2B%2B" title="C++ – Afrikaans" lang="af" hreflang="af" data-title="C++" data-language-autonym="Afrikaans" data-language-local-name="Afrikaans" class="interlanguage-link-target"><span>Afrikaans</span></a></li><li class="interlanguage-link interwiki-an mw-list-item"><a href="https://an.wikipedia.org/wiki/C%2B%2B" title="C++ – Aragonesisch" lang="an" hreflang="an" data-title="C++" data-language-autonym="Aragonés" data-language-local-name="Aragonesisch" class="interlanguage-link-target"><span>Aragonés</span></a></li><li class="interlanguage-link interwiki-ar mw-list-item"><a href="https://ar.wikipedia.org/wiki/%D8%B3%D9%8A%2B%2B" title="سي++ – Arabisch" lang="ar" hreflang="ar" data-title="سي++" data-language-autonym="العربية" data-language-local-name="Arabisch" class="interlanguage-link-target"><span>العربية</span></a></li><li class="interlanguage-link interwiki-arz mw-list-item"><a href="https://arz.wikipedia.org/wiki/%D8%B3%D9%89%2B%2B" title="سى++ – Ägyptisches Arabisch" lang="arz" hreflang="arz" data-title="سى++" data-language-autonym="مصرى" data-language-local-name="Ägyptisches Arabisch" class="interlanguage-link-target"><span>مصرى</span></a></li><li class="interlanguage-link interwiki-as mw-list-item"><a href="https://as.wikipedia.org/wiki/%E0%A6%9A%E0%A6%BF%2B%2B" title="চি++ – Assamesisch" lang="as" hreflang="as" data-title="চি++" data-language-autonym="অসমীয়া" data-language-local-name="Assamesisch" class="interlanguage-link-target"><span>অসমীয়া</span></a></li><li class="interlanguage-link interwiki-ast mw-list-item"><a href="https://ast.wikipedia.org/wiki/C%2B%2B" title="C++ – Asturisch" lang="ast" hreflang="ast" data-title="C++" data-language-autonym="Asturianu" data-language-local-name="Asturisch" class="interlanguage-link-target"><span>Asturianu</span></a></li><li class="interlanguage-link interwiki-az mw-list-item"><a href="https://az.wikipedia.org/wiki/C%2B%2B" title="C++ – Aserbaidschanisch" lang="az" hreflang="az" data-title="C++" data-language-autonym="Azərbaycanca" data-language-local-name="Aserbaidschanisch" class="interlanguage-link-target"><span>Azərbaycanca</span></a></li><li class="interlanguage-link interwiki-azb mw-list-item"><a href="https://azb.wikipedia.org/wiki/%D8%B3%DB%8C%2B%2B" title="سی++ – Südaserbaidschanisch" lang="azb" hreflang="azb" data-title="سی++" data-language-autonym="تۆرکجه" data-language-local-name="Südaserbaidschanisch" class="interlanguage-link-target"><span>تۆرکجه</span></a></li><li class="interlanguage-link interwiki-bat-smg mw-list-item"><a href="https://bat-smg.wikipedia.org/wiki/C%2B%2B" title="C++ – Samogitisch" lang="sgs" hreflang="sgs" data-title="C++" data-language-autonym="Žemaitėška" data-language-local-name="Samogitisch" class="interlanguage-link-target"><span>Žemaitėška</span></a></li><li class="interlanguage-link interwiki-be mw-list-item"><a href="https://be.wikipedia.org/wiki/C%2B%2B" title="C++ – Belarussisch" lang="be" hreflang="be" data-title="C++" data-language-autonym="Беларуская" data-language-local-name="Belarussisch" class="interlanguage-link-target"><span>Беларуская</span></a></li><li class="interlanguage-link interwiki-be-x-old mw-list-item"><a href="https://be-tarask.wikipedia.org/wiki/C%2B%2B" title="C++ – Weißrussisch (Taraschkewiza)" lang="be-tarask" hreflang="be-tarask" data-title="C++" data-language-autonym="Беларуская (тарашкевіца)" data-language-local-name="Weißrussisch (Taraschkewiza)" class="interlanguage-link-target"><span>Беларуская (тарашкевіца)</span></a></li><li class="interlanguage-link interwiki-bg mw-list-item"><a href="https://bg.wikipedia.org/wiki/C%2B%2B" title="C++ – Bulgarisch" lang="bg" hreflang="bg" data-title="C++" data-language-autonym="Български" data-language-local-name="Bulgarisch" class="interlanguage-link-target"><span>Български</span></a></li><li class="interlanguage-link interwiki-bn mw-list-item"><a href="https://bn.wikipedia.org/wiki/%E0%A6%B8%E0%A6%BF%2B%2B" title="সি++ – Bengalisch" lang="bn" hreflang="bn" data-title="সি++" data-language-autonym="বাংলা" data-language-local-name="Bengalisch" class="interlanguage-link-target"><span>বাংলা</span></a></li><li class="interlanguage-link interwiki-bo mw-list-item"><a href="https://bo.wikipedia.org/wiki/C%2B" title="C+ – Tibetisch" lang="bo" hreflang="bo" data-title="C+" data-language-autonym="བོད་ཡིག" data-language-local-name="Tibetisch" class="interlanguage-link-target"><span>བོད་ཡིག</span></a></li><li class="interlanguage-link interwiki-br mw-list-item"><a href="https://br.wikipedia.org/wiki/C%2B%2B" title="C++ – Bretonisch" lang="br" hreflang="br" data-title="C++" data-language-autonym="Brezhoneg" data-language-local-name="Bretonisch" class="interlanguage-link-target"><span>Brezhoneg</span></a></li><li class="interlanguage-link interwiki-bs mw-list-item"><a href="https://bs.wikipedia.org/wiki/C%2B%2B" title="C++ – Bosnisch" lang="bs" hreflang="bs" data-title="C++" data-language-autonym="Bosanski" data-language-local-name="Bosnisch" class="interlanguage-link-target"><span>Bosanski</span></a></li><li class="interlanguage-link interwiki-bug mw-list-item"><a href="https://bug.wikipedia.org/wiki/C%2B%2B" title="C++ – Buginesisch" lang="bug" hreflang="bug" data-title="C++" data-language-autonym="Basa Ugi" data-language-local-name="Buginesisch" class="interlanguage-link-target"><span>Basa Ugi</span></a></li><li class="interlanguage-link interwiki-ca mw-list-item"><a href="https://ca.wikipedia.org/wiki/C%2B%2B" title="C++ – Katalanisch" lang="ca" hreflang="ca" data-title="C++" data-language-autonym="Català" data-language-local-name="Katalanisch" class="interlanguage-link-target"><span>Català</span></a></li><li class="interlanguage-link interwiki-ckb mw-list-item"><a href="https://ckb.wikipedia.org/wiki/%D8%B3%DB%8C%2B%2B" title="سی++ – Zentralkurdisch" lang="ckb" hreflang="ckb" data-title="سی++" data-language-autonym="کوردی" data-language-local-name="Zentralkurdisch" class="interlanguage-link-target"><span>کوردی</span></a></li><li class="interlanguage-link interwiki-cs mw-list-item"><a href="https://cs.wikipedia.org/wiki/C%2B%2B" title="C++ – Tschechisch" lang="cs" hreflang="cs" data-title="C++" data-language-autonym="Čeština" data-language-local-name="Tschechisch" class="interlanguage-link-target"><span>Čeština</span></a></li><li class="interlanguage-link interwiki-cv mw-list-item"><a href="https://cv.wikipedia.org/wiki/C%2B%2B" title="C++ – Tschuwaschisch" lang="cv" hreflang="cv" data-title="C++" data-language-autonym="Чӑвашла" data-language-local-name="Tschuwaschisch" class="interlanguage-link-target"><span>Чӑвашла</span></a></li><li class="interlanguage-link interwiki-da mw-list-item"><a href="https://da.wikipedia.org/wiki/C%2B%2B" title="C++ – Dänisch" lang="da" hreflang="da" data-title="C++" data-language-autonym="Dansk" data-language-local-name="Dänisch" class="interlanguage-link-target"><span>Dansk</span></a></li><li class="interlanguage-link interwiki-el mw-list-item"><a href="https://el.wikipedia.org/wiki/C%2B%2B" title="C++ – Griechisch" lang="el" hreflang="el" data-title="C++" data-language-autonym="Ελληνικά" data-language-local-name="Griechisch" class="interlanguage-link-target"><span>Ελληνικά</span></a></li><li class="interlanguage-link interwiki-en mw-list-item"><a href="https://en.wikipedia.org/wiki/C%2B%2B" title="C++ – Englisch" lang="en" hreflang="en" data-title="C++" data-language-autonym="English" data-language-local-name="Englisch" class="interlanguage-link-target"><span>English</span></a></li><li class="interlanguage-link interwiki-eo mw-list-item"><a href="https://eo.wikipedia.org/wiki/C%2B%2B" title="C++ – Esperanto" lang="eo" hreflang="eo" data-title="C++" data-language-autonym="Esperanto" data-language-local-name="Esperanto" class="interlanguage-link-target"><span>Esperanto</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/C%2B%2B" title="C++ – Spanisch" lang="es" hreflang="es" data-title="C++" data-language-autonym="Español" data-language-local-name="Spanisch" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-et mw-list-item"><a href="https://et.wikipedia.org/wiki/C%2B%2B" title="C++ – Estnisch" lang="et" hreflang="et" data-title="C++" data-language-autonym="Eesti" data-language-local-name="Estnisch" class="interlanguage-link-target"><span>Eesti</span></a></li><li class="interlanguage-link interwiki-eu mw-list-item"><a href="https://eu.wikipedia.org/wiki/C%2B%2B" title="C++ – Baskisch" lang="eu" hreflang="eu" data-title="C++" data-language-autonym="Euskara" data-language-local-name="Baskisch" class="interlanguage-link-target"><span>Euskara</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wikipedia.org/wiki/C%2B%2B" title="C++ – Persisch" lang="fa" hreflang="fa" data-title="C++" data-language-autonym="فارسی" data-language-local-name="Persisch" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-fi mw-list-item"><a href="https://fi.wikipedia.org/wiki/C%2B%2B" title="C++ – Finnisch" lang="fi" hreflang="fi" data-title="C++" data-language-autonym="Suomi" data-language-local-name="Finnisch" class="interlanguage-link-target"><span>Suomi</span></a></li><li class="interlanguage-link interwiki-fj mw-list-item"><a href="https://fj.wikipedia.org/wiki/C%2B%2B" title="C++ – Fidschi" lang="fj" hreflang="fj" data-title="C++" data-language-autonym="Na Vosa Vakaviti" data-language-local-name="Fidschi" class="interlanguage-link-target"><span>Na Vosa Vakaviti</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/C%2B%2B" title="C++ – Französisch" lang="fr" hreflang="fr" data-title="C++" data-language-autonym="Français" data-language-local-name="Französisch" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-ga mw-list-item"><a href="https://ga.wikipedia.org/wiki/C%2B%2B" title="C++ – Irisch" lang="ga" hreflang="ga" data-title="C++" data-language-autonym="Gaeilge" data-language-local-name="Irisch" class="interlanguage-link-target"><span>Gaeilge</span></a></li><li class="interlanguage-link interwiki-gan mw-list-item"><a href="https://gan.wikipedia.org/wiki/C%2B%2B" title="C++ – Gan" lang="gan" hreflang="gan" data-title="C++" data-language-autonym="贛語" data-language-local-name="Gan" class="interlanguage-link-target"><span>贛語</span></a></li><li class="interlanguage-link interwiki-gl mw-list-item"><a href="https://gl.wikipedia.org/wiki/C%2B%2B" title="C++ – Galicisch" lang="gl" hreflang="gl" data-title="C++" data-language-autonym="Galego" data-language-local-name="Galicisch" class="interlanguage-link-target"><span>Galego</span></a></li><li class="interlanguage-link interwiki-gu mw-list-item"><a href="https://gu.wikipedia.org/wiki/C%2B%2B(%E0%AA%AA%E0%AB%8D%E0%AA%B0%E0%AB%8B%E0%AA%97%E0%AB%8D%E0%AA%B0%E0%AA%BE%E0%AA%AE%E0%AA%BF%E0%AA%82%E0%AA%97_%E0%AA%AD%E0%AA%BE%E0%AA%B7%E0%AA%BE)" title="C++(પ્રોગ્રામિંગ ભાષા) – Gujarati" lang="gu" hreflang="gu" data-title="C++(પ્રોગ્રામિંગ ભાષા)" data-language-autonym="ગુજરાતી" data-language-local-name="Gujarati" class="interlanguage-link-target"><span>ગુજરાતી</span></a></li><li class="interlanguage-link interwiki-ha mw-list-item"><a href="https://ha.wikipedia.org/wiki/C%2B%2B" title="C++ – Haussa" lang="ha" hreflang="ha" data-title="C++" data-language-autonym="Hausa" data-language-local-name="Haussa" class="interlanguage-link-target"><span>Hausa</span></a></li><li class="interlanguage-link interwiki-he mw-list-item"><a href="https://he.wikipedia.org/wiki/C%2B%2B" title="C++ – Hebräisch" lang="he" hreflang="he" data-title="C++" data-language-autonym="עברית" data-language-local-name="Hebräisch" class="interlanguage-link-target"><span>עברית</span></a></li><li class="interlanguage-link interwiki-hi mw-list-item"><a href="https://hi.wikipedia.org/wiki/%E0%A4%B8%E0%A5%80%2B%2B" title="सी++ – Hindi" lang="hi" hreflang="hi" data-title="सी++" data-language-autonym="हिन्दी" data-language-local-name="Hindi" class="interlanguage-link-target"><span>हिन्दी</span></a></li><li class="interlanguage-link interwiki-hr mw-list-item"><a href="https://hr.wikipedia.org/wiki/C%2B%2B" title="C++ – Kroatisch" lang="hr" hreflang="hr" data-title="C++" data-language-autonym="Hrvatski" data-language-local-name="Kroatisch" class="interlanguage-link-target"><span>Hrvatski</span></a></li><li class="interlanguage-link interwiki-hu mw-list-item"><a href="https://hu.wikipedia.org/wiki/C%2B%2B" title="C++ – Ungarisch" lang="hu" hreflang="hu" data-title="C++" data-language-autonym="Magyar" data-language-local-name="Ungarisch" class="interlanguage-link-target"><span>Magyar</span></a></li><li class="interlanguage-link interwiki-hy mw-list-item"><a href="https://hy.wikipedia.org/wiki/C%2B%2B" title="C++ – Armenisch" lang="hy" hreflang="hy" data-title="C++" data-language-autonym="Հայերեն" data-language-local-name="Armenisch" class="interlanguage-link-target"><span>Հայերեն</span></a></li><li class="interlanguage-link interwiki-ia mw-list-item"><a href="https://ia.wikipedia.org/wiki/C%2B%2B" title="C++ – Interlingua" lang="ia" hreflang="ia" data-title="C++" data-language-autonym="Interlingua" data-language-local-name="Interlingua" class="interlanguage-link-target"><span>Interlingua</span></a></li><li class="interlanguage-link interwiki-id mw-list-item"><a href="https://id.wikipedia.org/wiki/C%2B%2B" title="C++ – Indonesisch" lang="id" hreflang="id" data-title="C++" data-language-autonym="Bahasa Indonesia" data-language-local-name="Indonesisch" class="interlanguage-link-target"><span>Bahasa Indonesia</span></a></li><li class="interlanguage-link interwiki-io mw-list-item"><a href="https://io.wikipedia.org/wiki/C%2B%2B" title="C++ – Ido" lang="io" hreflang="io" data-title="C++" data-language-autonym="Ido" data-language-local-name="Ido" class="interlanguage-link-target"><span>Ido</span></a></li><li class="interlanguage-link interwiki-is mw-list-item"><a href="https://is.wikipedia.org/wiki/C%2B%2B" title="C++ – Isländisch" lang="is" hreflang="is" data-title="C++" data-language-autonym="Íslenska" data-language-local-name="Isländisch" class="interlanguage-link-target"><span>Íslenska</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/C%2B%2B" title="C++ – Italienisch" lang="it" hreflang="it" data-title="C++" data-language-autonym="Italiano" data-language-local-name="Italienisch" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/C%2B%2B" title="C++ – Japanisch" lang="ja" hreflang="ja" data-title="C++" data-language-autonym="日本語" data-language-local-name="Japanisch" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-jv mw-list-item"><a href="https://jv.wikipedia.org/wiki/C%2B%2B" title="C++ – Javanisch" lang="jv" hreflang="jv" data-title="C++" data-language-autonym="Jawa" data-language-local-name="Javanisch" class="interlanguage-link-target"><span>Jawa</span></a></li><li class="interlanguage-link interwiki-ka mw-list-item"><a href="https://ka.wikipedia.org/wiki/C%2B%2B" title="C++ – Georgisch" lang="ka" hreflang="ka" data-title="C++" data-language-autonym="ქართული" data-language-local-name="Georgisch" class="interlanguage-link-target"><span>ქართული</span></a></li><li class="interlanguage-link interwiki-kaa mw-list-item"><a href="https://kaa.wikipedia.org/wiki/C%2B%2B" title="C++ – Karakalpakisch" lang="kaa" hreflang="kaa" data-title="C++" data-language-autonym="Qaraqalpaqsha" data-language-local-name="Karakalpakisch" class="interlanguage-link-target"><span>Qaraqalpaqsha</span></a></li><li class="interlanguage-link interwiki-kk mw-list-item"><a href="https://kk.wikipedia.org/wiki/C%2B%2B" title="C++ – Kasachisch" lang="kk" hreflang="kk" data-title="C++" data-language-autonym="Қазақша" data-language-local-name="Kasachisch" class="interlanguage-link-target"><span>Қазақша</span></a></li><li class="interlanguage-link interwiki-kn mw-list-item"><a href="https://kn.wikipedia.org/wiki/%E0%B2%B8%E0%B2%BF%2B%2B" title="ಸಿ++ – Kannada" lang="kn" hreflang="kn" data-title="ಸಿ++" data-language-autonym="ಕನ್ನಡ" data-language-local-name="Kannada" class="interlanguage-link-target"><span>ಕನ್ನಡ</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/C%2B%2B" title="C++ – Koreanisch" lang="ko" hreflang="ko" data-title="C++" data-language-autonym="한국어" data-language-local-name="Koreanisch" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-ky mw-list-item"><a href="https://ky.wikipedia.org/wiki/C%2B%2B" title="C++ – Kirgisisch" lang="ky" hreflang="ky" data-title="C++" data-language-autonym="Кыргызча" data-language-local-name="Kirgisisch" class="interlanguage-link-target"><span>Кыргызча</span></a></li><li class="interlanguage-link interwiki-la mw-list-item"><a href="https://la.wikipedia.org/wiki/C%2B%2B" title="C++ – Latein" lang="la" hreflang="la" data-title="C++" data-language-autonym="Latina" data-language-local-name="Latein" class="interlanguage-link-target"><span>Latina</span></a></li><li class="interlanguage-link interwiki-lb mw-list-item"><a href="https://lb.wikipedia.org/wiki/C%2B%2B" title="C++ – Luxemburgisch" lang="lb" hreflang="lb" data-title="C++" data-language-autonym="Lëtzebuergesch" data-language-local-name="Luxemburgisch" class="interlanguage-link-target"><span>Lëtzebuergesch</span></a></li><li class="interlanguage-link interwiki-lmo mw-list-item"><a href="https://lmo.wikipedia.org/wiki/C%2B%2B" title="C++ – Lombardisch" lang="lmo" hreflang="lmo" data-title="C++" data-language-autonym="Lombard" data-language-local-name="Lombardisch" class="interlanguage-link-target"><span>Lombard</span></a></li><li class="interlanguage-link interwiki-lt mw-list-item"><a href="https://lt.wikipedia.org/wiki/C%2B%2B" title="C++ – Litauisch" lang="lt" hreflang="lt" data-title="C++" data-language-autonym="Lietuvių" data-language-local-name="Litauisch" class="interlanguage-link-target"><span>Lietuvių</span></a></li><li class="interlanguage-link interwiki-lv mw-list-item"><a href="https://lv.wikipedia.org/wiki/C%2B%2B" title="C++ – Lettisch" lang="lv" hreflang="lv" data-title="C++" data-language-autonym="Latviešu" data-language-local-name="Lettisch" class="interlanguage-link-target"><span>Latviešu</span></a></li><li class="interlanguage-link interwiki-min mw-list-item"><a href="https://min.wikipedia.org/wiki/C%2B%2B" title="C++ – Minangkabau" lang="min" hreflang="min" data-title="C++" data-language-autonym="Minangkabau" data-language-local-name="Minangkabau" class="interlanguage-link-target"><span>Minangkabau</span></a></li><li class="interlanguage-link interwiki-mk mw-list-item"><a href="https://mk.wikipedia.org/wiki/C%2B%2B" title="C++ – Mazedonisch" lang="mk" hreflang="mk" data-title="C++" data-language-autonym="Македонски" data-language-local-name="Mazedonisch" class="interlanguage-link-target"><span>Македонски</span></a></li><li class="interlanguage-link interwiki-ml mw-list-item"><a href="https://ml.wikipedia.org/wiki/%E0%B4%B8%E0%B4%BF%2B%2B" title="സി++ – Malayalam" lang="ml" hreflang="ml" data-title="സി++" data-language-autonym="മലയാളം" data-language-local-name="Malayalam" class="interlanguage-link-target"><span>മലയാളം</span></a></li><li class="interlanguage-link interwiki-mn mw-list-item"><a href="https://mn.wikipedia.org/wiki/C%2B%2B" title="C++ – Mongolisch" lang="mn" hreflang="mn" data-title="C++" data-language-autonym="Монгол" data-language-local-name="Mongolisch" class="interlanguage-link-target"><span>Монгол</span></a></li><li class="interlanguage-link interwiki-mr mw-list-item"><a href="https://mr.wikipedia.org/wiki/%E0%A4%B8%E0%A5%80_%E0%A4%AA%E0%A5%8D%E0%A4%B2%E0%A4%B8_%E0%A4%AA%E0%A5%8D%E0%A4%B2%E0%A4%B8_(%E0%A4%86%E0%A4%9C%E0%A5%8D%E0%A4%9E%E0%A4%BE%E0%A4%B5%E0%A4%B2%E0%A5%80_%E0%A4%AD%E0%A4%BE%E0%A4%B7%E0%A4%BE)" title="सी प्लस प्लस (आज्ञावली भाषा) – Marathi" lang="mr" hreflang="mr" data-title="सी प्लस प्लस (आज्ञावली भाषा)" data-language-autonym="मराठी" data-language-local-name="Marathi" class="interlanguage-link-target"><span>मराठी</span></a></li><li class="interlanguage-link interwiki-ms mw-list-item"><a href="https://ms.wikipedia.org/wiki/C%2B%2B" title="C++ – Malaiisch" lang="ms" hreflang="ms" data-title="C++" data-language-autonym="Bahasa Melayu" data-language-local-name="Malaiisch" class="interlanguage-link-target"><span>Bahasa Melayu</span></a></li><li class="interlanguage-link interwiki-my mw-list-item"><a href="https://my.wikipedia.org/wiki/C%2B%2B" title="C++ – Birmanisch" lang="my" hreflang="my" data-title="C++" data-language-autonym="မြန်မာဘာသာ" data-language-local-name="Birmanisch" class="interlanguage-link-target"><span>မြန်မာဘာသာ</span></a></li><li class="interlanguage-link interwiki-new mw-list-item"><a href="https://new.wikipedia.org/wiki/%E0%A4%B8%E0%A5%80%2B%2B" title="सी++ – Newari" lang="new" hreflang="new" data-title="सी++" data-language-autonym="नेपाल भाषा" data-language-local-name="Newari" class="interlanguage-link-target"><span>नेपाल भाषा</span></a></li><li class="interlanguage-link interwiki-nl mw-list-item"><a href="https://nl.wikipedia.org/wiki/C%2B%2B" title="C++ – Niederländisch" lang="nl" hreflang="nl" data-title="C++" data-language-autonym="Nederlands" data-language-local-name="Niederländisch" class="interlanguage-link-target"><span>Nederlands</span></a></li><li class="interlanguage-link interwiki-nn mw-list-item"><a href="https://nn.wikipedia.org/wiki/C%2B%2B" title="C++ – Norwegisch (Nynorsk)" lang="nn" hreflang="nn" data-title="C++" data-language-autonym="Norsk nynorsk" data-language-local-name="Norwegisch (Nynorsk)" class="interlanguage-link-target"><span>Norsk nynorsk</span></a></li><li class="interlanguage-link interwiki-no mw-list-item"><a href="https://no.wikipedia.org/wiki/C%2B%2B" title="C++ – Norwegisch (Bokmål)" lang="nb" hreflang="nb" data-title="C++" data-language-autonym="Norsk bokmål" data-language-local-name="Norwegisch (Bokmål)" class="interlanguage-link-target"><span>Norsk bokmål</span></a></li><li class="interlanguage-link interwiki-oc mw-list-item"><a href="https://oc.wikipedia.org/wiki/C%2B%2B" title="C++ – Okzitanisch" lang="oc" hreflang="oc" data-title="C++" data-language-autonym="Occitan" data-language-local-name="Okzitanisch" class="interlanguage-link-target"><span>Occitan</span></a></li><li class="interlanguage-link interwiki-pa mw-list-item"><a href="https://pa.wikipedia.org/wiki/%E0%A8%B8%E0%A9%80%2B%2B" title="ਸੀ++ – Punjabi" lang="pa" hreflang="pa" data-title="ਸੀ++" data-language-autonym="ਪੰਜਾਬੀ" data-language-local-name="Punjabi" class="interlanguage-link-target"><span>ਪੰਜਾਬੀ</span></a></li><li class="interlanguage-link interwiki-pfl mw-list-item"><a href="https://pfl.wikipedia.org/wiki/C%2B%2B" title="C++ – Pfälzisch" lang="pfl" hreflang="pfl" data-title="C++" data-language-autonym="Pälzisch" data-language-local-name="Pfälzisch" class="interlanguage-link-target"><span>Pälzisch</span></a></li><li class="interlanguage-link interwiki-pl mw-list-item"><a href="https://pl.wikipedia.org/wiki/C%2B%2B" title="C++ – Polnisch" lang="pl" hreflang="pl" data-title="C++" data-language-autonym="Polski" data-language-local-name="Polnisch" class="interlanguage-link-target"><span>Polski</span></a></li><li class="interlanguage-link interwiki-pnb mw-list-item"><a href="https://pnb.wikipedia.org/wiki/%D8%B3%DB%8C%2B%2B" title="سی++ – Westliches Panjabi" lang="pnb" hreflang="pnb" data-title="سی++" data-language-autonym="پنجابی" data-language-local-name="Westliches Panjabi" class="interlanguage-link-target"><span>پنجابی</span></a></li><li class="interlanguage-link interwiki-pt mw-list-item"><a href="https://pt.wikipedia.org/wiki/C%2B%2B" title="C++ – Portugiesisch" lang="pt" hreflang="pt" data-title="C++" data-language-autonym="Português" data-language-local-name="Portugiesisch" class="interlanguage-link-target"><span>Português</span></a></li><li class="interlanguage-link interwiki-qu mw-list-item"><a href="https://qu.wikipedia.org/wiki/C%2B%2B" title="C++ – Quechua" lang="qu" hreflang="qu" data-title="C++" data-language-autonym="Runa Simi" data-language-local-name="Quechua" class="interlanguage-link-target"><span>Runa Simi</span></a></li><li class="interlanguage-link interwiki-ro mw-list-item"><a href="https://ro.wikipedia.org/wiki/C%2B%2B" title="C++ – Rumänisch" lang="ro" hreflang="ro" data-title="C++" data-language-autonym="Română" data-language-local-name="Rumänisch" class="interlanguage-link-target"><span>Română</span></a></li><li class="interlanguage-link interwiki-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/C%2B%2B" title="C++ – Russisch" lang="ru" hreflang="ru" data-title="C++" data-language-autonym="Русский" data-language-local-name="Russisch" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-sah mw-list-item"><a href="https://sah.wikipedia.org/wiki/C%2B%2B" title="C++ – Jakutisch" lang="sah" hreflang="sah" data-title="C++" data-language-autonym="Саха тыла" data-language-local-name="Jakutisch" class="interlanguage-link-target"><span>Саха тыла</span></a></li><li class="interlanguage-link interwiki-sh mw-list-item"><a href="https://sh.wikipedia.org/wiki/C%2B%2B" title="C++ – Serbokroatisch" lang="sh" hreflang="sh" data-title="C++" data-language-autonym="Srpskohrvatski / српскохрватски" data-language-local-name="Serbokroatisch" class="interlanguage-link-target"><span>Srpskohrvatski / српскохрватски</span></a></li><li class="interlanguage-link interwiki-si mw-list-item"><a href="https://si.wikipedia.org/wiki/C%2B%2B" title="C++ – Singhalesisch" lang="si" hreflang="si" data-title="C++" data-language-autonym="සිංහල" data-language-local-name="Singhalesisch" class="interlanguage-link-target"><span>සිංහල</span></a></li><li class="interlanguage-link interwiki-simple mw-list-item"><a href="https://simple.wikipedia.org/wiki/C%2B%2B" title="C++ – einfaches Englisch" lang="en-simple" hreflang="en-simple" data-title="C++" data-language-autonym="Simple English" data-language-local-name="einfaches Englisch" class="interlanguage-link-target"><span>Simple English</span></a></li><li class="interlanguage-link interwiki-sk mw-list-item"><a href="https://sk.wikipedia.org/wiki/C%2B%2B" title="C++ – Slowakisch" lang="sk" hreflang="sk" data-title="C++" data-language-autonym="Slovenčina" data-language-local-name="Slowakisch" class="interlanguage-link-target"><span>Slovenčina</span></a></li><li class="interlanguage-link interwiki-sl mw-list-item"><a href="https://sl.wikipedia.org/wiki/C%2B%2B" title="C++ – Slowenisch" lang="sl" hreflang="sl" data-title="C++" data-language-autonym="Slovenščina" data-language-local-name="Slowenisch" class="interlanguage-link-target"><span>Slovenščina</span></a></li><li class="interlanguage-link interwiki-sq mw-list-item"><a href="https://sq.wikipedia.org/wiki/C%2B%2B" title="C++ – Albanisch" lang="sq" hreflang="sq" data-title="C++" data-language-autonym="Shqip" data-language-local-name="Albanisch" class="interlanguage-link-target"><span>Shqip</span></a></li><li class="interlanguage-link interwiki-sr mw-list-item"><a href="https://sr.wikipedia.org/wiki/C%2B%2B" title="C++ – Serbisch" lang="sr" hreflang="sr" data-title="C++" data-language-autonym="Српски / srpski" data-language-local-name="Serbisch" class="interlanguage-link-target"><span>Српски / srpski</span></a></li><li class="interlanguage-link interwiki-sv mw-list-item"><a href="https://sv.wikipedia.org/wiki/C%2B%2B" title="C++ – Schwedisch" lang="sv" hreflang="sv" data-title="C++" data-language-autonym="Svenska" data-language-local-name="Schwedisch" class="interlanguage-link-target"><span>Svenska</span></a></li><li class="interlanguage-link interwiki-sw mw-list-item"><a href="https://sw.wikipedia.org/wiki/C%2B%2B" title="C++ – Suaheli" lang="sw" hreflang="sw" data-title="C++" data-language-autonym="Kiswahili" data-language-local-name="Suaheli" class="interlanguage-link-target"><span>Kiswahili</span></a></li><li class="interlanguage-link interwiki-ta mw-list-item"><a href="https://ta.wikipedia.org/wiki/%E0%AE%9A%E0%AE%BF%2B%2B" title="சி++ – Tamil" lang="ta" hreflang="ta" data-title="சி++" data-language-autonym="தமிழ்" data-language-local-name="Tamil" class="interlanguage-link-target"><span>தமிழ்</span></a></li><li class="interlanguage-link interwiki-te mw-list-item"><a href="https://te.wikipedia.org/wiki/%E0%B0%B8%E0%B1%80_%E0%B0%AA%E0%B1%8D%E0%B0%B2%E0%B0%B8%E0%B1%8D_%E0%B0%AA%E0%B1%8D%E0%B0%B2%E0%B0%B8%E0%B1%8D" title="సీ ప్లస్ ప్లస్ – Telugu" lang="te" hreflang="te" data-title="సీ ప్లస్ ప్లస్" data-language-autonym="తెలుగు" data-language-local-name="Telugu" class="interlanguage-link-target"><span>తెలుగు</span></a></li><li class="interlanguage-link interwiki-tg mw-list-item"><a href="https://tg.wikipedia.org/wiki/C%2B%2B" title="C++ – Tadschikisch" lang="tg" hreflang="tg" data-title="C++" data-language-autonym="Тоҷикӣ" data-language-local-name="Tadschikisch" class="interlanguage-link-target"><span>Тоҷикӣ</span></a></li><li class="interlanguage-link interwiki-th mw-list-item"><a href="https://th.wikipedia.org/wiki/%E0%B8%A0%E0%B8%B2%E0%B8%A9%E0%B8%B2%E0%B8%8B%E0%B8%B5%E0%B8%9E%E0%B8%A5%E0%B8%B1%E0%B8%AA%E0%B8%9E%E0%B8%A5%E0%B8%B1%E0%B8%AA" title="ภาษาซีพลัสพลัส – Thailändisch" lang="th" hreflang="th" data-title="ภาษาซีพลัสพลัส" data-language-autonym="ไทย" data-language-local-name="Thailändisch" class="interlanguage-link-target"><span>ไทย</span></a></li><li class="interlanguage-link interwiki-tk mw-list-item"><a href="https://tk.wikipedia.org/wiki/C%2B%2B_programmirleme" title="C++ programmirleme – Turkmenisch" lang="tk" hreflang="tk" data-title="C++ programmirleme" data-language-autonym="Türkmençe" data-language-local-name="Turkmenisch" class="interlanguage-link-target"><span>Türkmençe</span></a></li><li class="interlanguage-link interwiki-tr mw-list-item"><a href="https://tr.wikipedia.org/wiki/C%2B%2B" title="C++ – Türkisch" lang="tr" hreflang="tr" data-title="C++" data-language-autonym="Türkçe" data-language-local-name="Türkisch" class="interlanguage-link-target"><span>Türkçe</span></a></li><li class="interlanguage-link interwiki-tt mw-list-item"><a href="https://tt.wikipedia.org/wiki/C%2B%2B" title="C++ – Tatarisch" lang="tt" hreflang="tt" data-title="C++" data-language-autonym="Татарча / tatarça" data-language-local-name="Tatarisch" class="interlanguage-link-target"><span>Татарча / tatarça</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/C%2B%2B" title="C++ – Ukrainisch" lang="uk" hreflang="uk" data-title="C++" data-language-autonym="Українська" data-language-local-name="Ukrainisch" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-ur mw-list-item"><a href="https://ur.wikipedia.org/wiki/%D8%B3%DB%8C%2B%2B" title="سی++ – Urdu" lang="ur" hreflang="ur" data-title="سی++" data-language-autonym="اردو" data-language-local-name="Urdu" class="interlanguage-link-target"><span>اردو</span></a></li><li class="interlanguage-link interwiki-uz mw-list-item"><a href="https://uz.wikipedia.org/wiki/C%2B%2B" title="C++ – Usbekisch" lang="uz" hreflang="uz" data-title="C++" data-language-autonym="Oʻzbekcha / ўзбекча" data-language-local-name="Usbekisch" class="interlanguage-link-target"><span>Oʻzbekcha / ўзбекча</span></a></li><li class="interlanguage-link interwiki-vi mw-list-item"><a href="https://vi.wikipedia.org/wiki/C%2B%2B" title="C++ – Vietnamesisch" lang="vi" hreflang="vi" data-title="C++" data-language-autonym="Tiếng Việt" data-language-local-name="Vietnamesisch" class="interlanguage-link-target"><span>Tiếng Việt</span></a></li><li class="interlanguage-link interwiki-war mw-list-item"><a href="https://war.wikipedia.org/wiki/C%2B%2B" title="C++ – Waray" lang="war" hreflang="war" data-title="C++" data-language-autonym="Winaray" data-language-local-name="Waray" class="interlanguage-link-target"><span>Winaray</span></a></li><li class="interlanguage-link interwiki-wuu mw-list-item"><a href="https://wuu.wikipedia.org/wiki/C%2B%2B" title="C++ – Wu" lang="wuu" hreflang="wuu" data-title="C++" data-language-autonym="吴语" data-language-local-name="Wu" class="interlanguage-link-target"><span>吴语</span></a></li><li class="interlanguage-link interwiki-yi mw-list-item"><a href="https://yi.wikipedia.org/wiki/%2B%2BC" title="++C – Jiddisch" lang="yi" hreflang="yi" data-title="++C" data-language-autonym="ייִדיש" data-language-local-name="Jiddisch" class="interlanguage-link-target"><span>ייִדיש</span></a></li><li class="interlanguage-link interwiki-yo mw-list-item"><a href="https://yo.wikipedia.org/wiki/C%2B%2B" title="C++ – Yoruba" lang="yo" hreflang="yo" data-title="C++" data-language-autonym="Yorùbá" data-language-local-name="Yoruba" class="interlanguage-link-target"><span>Yorùbá</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/C%2B%2B" title="C++ – Chinesisch" lang="zh" hreflang="zh" data-title="C++" data-language-autonym="中文" data-language-local-name="Chinesisch" class="interlanguage-link-target"><span>中文</span></a></li><li class="interlanguage-link interwiki-zh-classical mw-list-item"><a href="https://zh-classical.wikipedia.org/wiki/%E4%B8%99%E5%8A%A0%E5%8A%A0" title="丙加加 – Klassisches Chinesisch" lang="lzh" hreflang="lzh" data-title="丙加加" data-language-autonym="文言" data-language-local-name="Klassisches Chinesisch" class="interlanguage-link-target"><span>文言</span></a></li><li class="interlanguage-link interwiki-zh-min-nan mw-list-item"><a href="https://zh-min-nan.wikipedia.org/wiki/C%2B%2B" title="C++ – Min Nan" lang="nan" hreflang="nan" data-title="C++" data-language-autonym="閩南語 / Bân-lâm-gú" data-language-local-name="Min Nan" class="interlanguage-link-target"><span>閩南語 / Bân-lâm-gú</span></a></li><li class="interlanguage-link interwiki-zh-yue mw-list-item"><a href="https://zh-yue.wikipedia.org/wiki/C%2B%2B" title="C++ – Kantonesisch" lang="yue" hreflang="yue" data-title="C++" data-language-autonym="粵語" data-language-local-name="Kantonesisch" class="interlanguage-link-target"><span>粵語</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q2407#sitelinks-wikipedia" title="Links auf Artikel in anderen Sprachen bearbeiten" class="wbc-editpage">Links bearbeiten</a></span></div> </div> </nav> </div> </div> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> Diese Seite wurde zuletzt am 2. November 2024 um 05:51 Uhr bearbeitet.</li> <li id="footer-info-copyright"><div id="footer-info-copyright-stats" class="noprint"><a rel="nofollow" class="external text" href="https://pageviews.wmcloud.org/?pages=C%2B%2B&amp;project=de.wikipedia.org">Abrufstatistik</a>&#160;· <a rel="nofollow" class="external text" href="https://xtools.wmcloud.org/authorship/de.wikipedia.org/C%2B%2B?uselang=de">Autoren</a> </div><div id="footer-info-copyright-separator"><br /></div><div id="footer-info-copyright-info"> <p>Der Text ist unter der Lizenz <a rel="nofollow" class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">„Creative-Commons Namensnennung – Weitergabe unter gleichen Bedingungen“</a> verfügbar; Informationen zu den Urhebern und zum Lizenzstatus eingebundener Mediendateien (etwa Bilder oder Videos) können im Regelfall durch Anklicken dieser abgerufen werden. Möglicherweise unterliegen die Inhalte jeweils zusätzlichen Bedingungen. Durch die Nutzung dieser Website erklären Sie sich mit den <span class="plainlinks"><a class="external text" href="https://foundation.wikimedia.org/wiki/Policy:Terms_of_Use/de">Nutzungsbedingungen</a> und der <a class="external text" href="https://foundation.wikimedia.org/wiki/Policy:Privacy_policy/de">Datenschutzrichtlinie</a></span> einverstanden.<br /> </p> Wikipedia® ist eine eingetragene Marke der Wikimedia Foundation Inc.</div></li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy/de">Datenschutz</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:%C3%9Cber_Wikipedia">Über Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:Impressum">Impressum</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Verhaltenskodex</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Entwickler</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/de.wikipedia.org">Statistiken</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Stellungnahme zu Cookies</a></li> <li id="footer-places-mobileview"><a href="//de.m.wikipedia.org/w/index.php?title=C%2B%2B&amp;mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile Ansicht</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> <script>(RLQ=window.RLQ||[]).push(function(){mw.log.warn("This page is using the deprecated ResourceLoader module \"codex-search-styles\".\n[1.43] Use a CodexModule with codexComponents to set your specific components used: https://www.mediawiki.org/wiki/Codex#Using_a_limited_subset_of_components");mw.config.set({"wgHostname":"mw-web.codfw.main-78f4c97c5d-7xk2v","wgBackendResponseTime":164,"wgPageParseReport":{"limitreport":{"cputime":"0.708","walltime":"1.038","ppvisitednodes":{"value":8020,"limit":1000000},"postexpandincludesize":{"value":84603,"limit":2097152},"templateargumentsize":{"value":26465,"limit":2097152},"expansiondepth":{"value":16,"limit":100},"expensivefunctioncount":{"value":8,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":46034,"limit":5000000},"entityaccesscount":{"value":1,"limit":400},"timingprofile":["100.00% 857.476 1 -total"," 42.43% 363.795 21 Vorlage:Internetquelle"," 34.22% 293.430 1 Vorlage:Infobox_Programmiersprache"," 5.05% 43.274 8 Vorlage:Literatur"," 4.35% 37.269 21 Vorlage:Str_len"," 2.90% 24.845 2 Vorlage:Lang"," 2.40% 20.581 2 Vorlage:Webarchiv"," 2.05% 17.613 1 Vorlage:Veraltet"," 1.82% 15.619 1 Vorlage:Referrer"," 1.54% 13.228 1 Vorlage:IconExternal"]},"scribunto":{"limitreport-timeusage":{"value":"0.354","limit":"10.000"},"limitreport-memusage":{"value":6452055,"limit":52428800}},"cachereport":{"origin":"mw-web.eqiad.main-8cb5f4d85-b4tkr","timestamp":"20241126194729","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"C++","url":"https:\/\/de.wikipedia.org\/wiki\/C%2B%2B","sameAs":"http:\/\/www.wikidata.org\/entity\/Q2407","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q2407","author":{"@type":"Organization","name":"Autoren der Wikimedia-Projekte"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2002-07-21T14:25:06Z","image":"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/1\/18\/ISO_C%2B%2B_Logo.svg","headline":"objektorientierte Programmiersprache"}</script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10