Häufig gestellte Fragen
Was ist der Zweck dieser Seite?
Unser Ziel ist es, Programmierern eine vollständige Online-Referenz für die Sprachen C und C++ sowie deren Standardbibliotheken zur Verfügung zu stellen, d.h. eine praktischere Version der C- und C++-Standards.
Das Hauptziel ist eine gute *Spezifikation* von C und C++. Das heißt, Dinge, die für einen erfahrenen Programmierer implizit klar sind, sollten weggelassen oder zumindest von der Hauptbeschreibung einer Funktion, Konstante oder Klasse getrennt werden. Ein guter Ort, um verschiedene Anwendungsfälle zu demonstrieren, ist der Abschnitt "Beispiel" jeder Seite. Begründungen, Implementierungshinweise und domänenspezifische Dokumentationen werden bevorzugt im Abschnitt "Anmerkungen" jeder Seite aufgenommen.
Warum ist das Material hier auf das Standard-C und C++ beschränkt?
Kurz gesagt, wir haben Qualität über Quantität gewählt. Einige Boost-Bibliotheken könnten ebenfalls Kandidaten für die Aufnahme sein. Obwohl ihre Tutorials sehr gut sind, ist die *Referenzdokumentation* oft sehr unflexibel und unpraktisch.
Wo finde ich weitere Informationen?
Schauen Sie sich die folgenden Linksammlungen an [1] [2] für alternative Links und Material, das außerhalb des Geltungsbereichs dieser Seite liegt.
Welcher Revision des C-Standards folgt diese Referenz?
C23 ist der zuletzt veröffentlichte C-Standard (und C2y ist auf dem Weg), daher liegt der Hauptfokus der C-Referenz darauf.
Um jedoch eine vollständigere Referenz zu bieten, nehmen wir auch Dokumentationen auf, die frühere Versionen des Standards (C89, C95, C99, C11, C17), Entwürfe für zukünftige Versionen des Standards und die Technical Specifications beschreiben. Alle versionsspezifischen Dokumentationen sollten entsprechend gekennzeichnet sein.
Die verschiedenen C-Standardrevisionen finden Sie unter
- C2y
- Der neueste kostenlose Arbeitsentwurf ist n3467 (2025-02-09).
- C23
- Der offizielle C23-Standard kann bei der ISO gekauft werden.
- Der Entwurf N3220 (2024-02-22) ist mit C23 identisch, abgesehen von redaktionellen Korrekturen.
- C17
- Der C17-Standard wurde zurückgezogen und ist nicht mehr von der ISO erhältlich, kann aber immer noch bei ANSI gekauft werden.
- Der finale Entwurfstandard C17 FDIS ist kostenlos erhältlich.
- C11
- Der C11-Standard wurde zurückgezogen und ist nicht mehr von der ISO erhältlich, kann aber immer noch bei ANSI gekauft werden.
- Ein C11-Arbeitsentwurf N1570 (2011-04-12) ist kostenlos erhältlich und unterscheidet sich nur minimal vom finalen C11-Standard.
- C99
- Der C99-Standard wurde zurückgezogen und ist nicht mehr von der ISO erhältlich, kann aber immer noch bei ANSI gekauft werden.
- Der finale Arbeitsentwurf C99:TC3 N1256 (2007-09-07) ist frei verfügbar und unterscheidet sich nur minimal vom finalen C99-Standard, einschließlich aller drei technischen Korrekturen.
- C95
- Die C90-Ergänzung AMD1 wurde zurückgezogen und ist nicht mehr von der ISO erhältlich, kann aber immer noch bei Intertek Inform gekauft werden.
- C89/C90
- Der C90-Standard wurde zurückgezogen und ist nicht mehr von der ISO erhältlich, kann aber immer noch bei Intertek Inform gekauft werden.
- Der finale Entwurf (X3J11/90-013 (ANSI-Nummerierung) oder n119 (WG14-Nummerierung)) ist nicht öffentlich zugänglich, aber der finale öffentliche Überprüfungsentwurf X3J11/88-090 (1988-05-13) ist verfügbar und unterscheidet sich minimal vom finalen C89-Standard.
Welcher Revision des C++-Standards folgt diese Referenz?
C++23 ist der zuletzt veröffentlichte C++-Standard (und C++26 ist auf dem Weg), daher liegt der Hauptfokus dieser Seite darauf.
Um jedoch eine vollständigere Referenz zu bieten, nehmen wir auch Dokumentationen auf, die frühere Versionen des Standards (C++98, C++03, C++11, C++14, C++17, C++20 und C++23) sowie Entwurfsdokumentationen für zukünftige Versionen des Standards (C++26 und die Technical Specifications) beschreiben. Alle versionsspezifischen Dokumentationen sollten entsprechend gekennzeichnet sein.
Die verschiedenen C++-Standards selbst finden Sie unter
- C++26
- Der neueste kostenlose Arbeitsentwurf ist n5001 (2024-12-17).
- Die aktuellste Version finden Sie im Quellformat unter cplusplus/draft und in durchsuchbarer Form unter eel.is/c++draft.
- C++23
- Der offizielle C++23-Standard kann direkt bei der ISO gekauft werden.
- Der finale Entwurf von C++23 ist N4950 (2023-05-10).
- C++20
- Der C++20-Standard wurde zurückgezogen und ist nicht mehr von der ISO erhältlich. Er kann weiterhin von Mitgliedsorganisationen wie ANSI erworben werden.
- Der finale Entwurf von C++20 ist N4860 (2020-03-31).
- Ein Arbeitsentwurf nach C++20 N4868 (2020-10-18) ist verfügbar und enthält seit C++20 nur redaktionelle Korrekturen nach N4867.
- C++17
- Der C++17-Standard wurde zurückgezogen und ist nicht mehr von der ISO erhältlich. Er kann weiterhin von Mitgliedsorganisationen wie ANSI erworben werden.
- Der finale Entwurf von C++17 ist N4659 (2017-03-21).
- C++14
- Der C++14-Standard wurde zurückgezogen und ist nicht mehr von der ISO erhältlich. Er kann weiterhin über ANSI und andere Mitgliedsorganisationen erworben werden.
- Ein kostenloser finaler Entwurf von C++14 (n4140) ist verfügbar, ebenso wie der Unterschied zwischen ihm und dem Standard (n4141), der hauptsächlich Tippfehler und Versionsnummernänderungen enthält.
- C++11
- Der C++11-Standard wurde zurückgezogen und ist nicht mehr von der ISO erhältlich.
- Ein kostenloser C++11-Arbeitsentwurf N3337 ist verfügbar. (Die Unterschiede N3338 zwischen dem Arbeitsentwurf und dem C++11-Standard sind gering.)
- C++03
- Der C++03-Standard wurde zurückgezogen und ist nicht mehr von der ISO erhältlich.
- C++98
- Der C++98-Standard wurde zurückgezogen und ist nicht mehr von der ISO erhältlich.
Warum gibt es Unterschiede zwischen dem Standard und cppreference?
Cppreference wird von C++-Enthusiasten gepflegt und richtet sich an Programmierer, nicht an ISO-Historiker. Als Programmierer interessiert uns, was wir erhalten, wenn wir -std=c++20 oder die entsprechende Compiler-Flagge verwenden. Daher richtet sich unsere Dokumentation an eine hypothetische, vollständige und korrekte Implementierung jeder C- und C++-Standardrevision plus aller nachfolgenden Korrekturen und Klarstellungen, die für diese Revision gelten. Wenn verfügbar, nutzen wir die Richtlinien des Standardisierungskomitees und aktuelle Implementierungen als Beleg dafür, was eine solche hypothetische Implementierung tun würde.
Gibt es eine Version dieser Seite, die für die Offline-Anzeige geeignet ist?
Sicher, eine können Sie hier herunterladen.
Einige Apps bieten auch die Offline-Anzeige des Inhalts dieser Seite an. Zum Beispiel die Docset-basierten Apps: Dash für Mac und iOS, Velocity für Windows, Zeal für Linux und LovelyDocs für Android.
Können Sie die Seite leichter darstellbar machen?
Sie finden vielleicht ein dunkles Thema besser lesbar als das helle Standardthema. Oder Sie könnten eine Browser-Erweiterung wie DarkReader ausprobieren.
Die zuvor erwähnten Offline-Docset-basierten Apps bieten ebenfalls einen dunklen Modus und andere Optionen, werden aber nicht in Echtzeit aktualisiert.
Was kann ich mit dem Material auf dieser Seite machen?
Der Inhalt ist lizenziert unter der Creative Commons Attribution-Sharealike 3.0 Unported License (CC-BY-SA) und der GNU Free Documentation License (GFDL) (unversioniert, ohne unveränderliche Abschnitte, Vorder- oder Rückseitentexte). Das bedeutet, dass Sie diese Seite fast nach Belieben nutzen können, einschließlich Spiegelung, Kopieren, Übersetzen usw. Alles, was wir erbitten, ist ein Link zurück zu cppreference.com, damit die Leute wissen, wo sie die aktuellsten Inhalte erhalten können. Zusätzlich sollte jeder geänderte Inhalt unter einer gleichwertigen Lizenz veröffentlicht werden, damit jeder von den geänderten Versionen profitieren kann.
Was? Das ist ein Wiki? Kann ich Dinge ändern?
Absolut. Wenn Sie etwas sehen, das falsch ist, korrigieren Sie es. Derzeit ist das Wiki jedoch auf Standard-C und C++ beschränkt, daher sollten Sie keine nicht standardmäßigen Inhalte wie Compiler-spezifische Erweiterungen hinzufügen. Bitte überprüfen Sie auch jede Änderung mit dem entsprechenden Standard. Wenn Sie sich bei etwas unsicher sind, können Sie dies auf den Diskussionsseiten erfragen.
Bitte beachten Sie, dass aufgrund von Vandalismus die Bearbeitung der meisten Seiten auf bestätigte Benutzer beschränkt ist. Wenn Sie kein bestätigtes Konto haben, können Sie stattdessen eine Änderung auf Talk:Main_Page/suggestions vorschlagen oder den Administrator kontaktieren.
Wie kann ich bearbeiten? Was sind die Syntaxregeln?
Dieses Wiki verwendet MediaWiki, dasselbe Wikisystem wie das Wikipedia-Projekt. Sie können deren Hilfeseiten verwenden, um sich mit der MediaWiki-Wikicode-Syntax vertraut zu machen. Die meisten Inhalte dieses Wikis sind jedoch in ziemlich komplexe Vorlagen eingebunden. Sie erledigen den Großteil der Formatierung und helfen, repetitive Dinge an einem Ort zu sammeln, sodass bei Änderungen nicht dieselbe Änderung Dutzende oder Hunderte Male vorgenommen werden muss. Hilfe zu den in diesem Wiki verwendeten Vorlagen finden Sie unter Help:Templates.
Das Wiki strebt einen konsistenten Stil an. Bitte beachten Sie Help:Manual of style für einen Styleguide, der hilft, einen konsistenten Stil und eine konsistente Formatierung im Wiki zu verfolgen.
Weitere Bearbeitungshinweise finden Sie unter Cppreference:EditingHelp.
Beachten Sie jedoch, dass Sie weder die komplexen Vorlagen noch die oben genannten Richtlinien kennen müssen, um einen Beitrag zu leisten. Es ist viel schwieriger, den Inhalt selbst zu schreiben, als die Formatierung anzuwenden. Machen Sie sich also keine Gedanken über den Stil beim Schreiben, da sich jemand später darum kümmert.
Einige Vorlagen mit hohem Traffic sind gesperrt, um Vandalismus zu verhindern oder aus Performance-Gründen. In diesen Fällen sollten Sie eine Änderung auf der Diskussionsseite beantragen.
Ich möchte helfen. Wo soll ich anfangen?
Großartig! Es gibt mehrere spezielle Seiten, die Vorschläge für Dinge enthalten, die behoben werden müssen.
- Seiten, die Beispiele gebrauchen könnten (ein guter Ausgangspunkt)
- Seiten, die mit spezifischen todo-Einträgen markiert sind
- Seiten, die mit allgemeinen todos markiert sind
Wer steckt hinter dieser Seite?
cppreference.com wurde von einer Gruppe von C++-Enthusiasten aus aller Welt erstellt und wird von ihnen gepflegt. Die Seite wird seit ihrer Gründung im Jahr 2000 vollständig von der Community unterstützt; die aktuellen Hosting-Kosten werden teilweise durch Werbung (bitte melden Sie alle Anzeigenprobleme an comments@cppreference.com), Spenden und den Verkauf von C++-bezogenen Merchandise-Artikeln mit vielen Wortspielen ausgeglichen.
Wie kann ich Sie kontaktieren?
Sie können uns unter comments@cppreference.com kontaktieren.
Falls Sie einen defekten Link melden, ist es möglicherweise einfacher, ihn hier zu melden.