History of C++
Aus cppreference.com
![]() |
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
This section is incomplete |
Inhaltsverzeichnis |
[Bearbeiten] Frühphase
- 1979: C with Classes (dt. „C mit Klassen“) zum ersten Mal implementiert.
- Neue Features: Klassen, Komponenten-Funktionen, abgeleitete Klassen, separates Kompilieren, Sichtbarkeit (public, private), Freunde, Typprüfung von Funktionsargumenten, Default-Funktionsargumente, Inline-Funktionen, überladene Zuweisungsoperatoren, Konstruktoren, Destruktoren,
f()
bedeutet dasselbe wief(void)
, Call-Funktion und Return-Funktion (Synchronisation Funktionen, nicht in C++). - Bibliotheken: Die Bibliothek für nebenläufige Tasks (nicht in C++)
- 1982: Referenz-Handbuch für C with classes veröffentlicht
- 1984: C84 umgesetzt, Referenz-Handbuch veröffentlicht
- 1985: Cfront 1.0
- Neue Features: virtuelle Funktionen, Überladen von Funktionen und Operatoren, Referenztypen, die Operatoren
new
unddelete
, das Schlüsselwortconst
, der Bereichsauflösungsoperator::
- Neue Bibliotheken:
complex
,string
,iostream
- 1985: The C++ Programming Language, 1. Auflage
- 1989: Cfront 2.0
- Neue Features: Mehrfachvererbung, Zeiger auf Komponenten,
protected
, typ-sicheres Linken, abstrakte Klassen, statische (static
) und konstante (const
) Komponenten-Funktionen, klassenspezifischenew
- unddelete
-Operatoren - Neue Bibliotheken: I/O-Manipulatoren
- 1990: The Annotated C++ Reference Manual
In diesem Buch wurde die Sprache in ihrer derzeitigen Form beschrieben, einschließlich einiger Funktionen, die noch nicht implementiert waren. Es diente als De-facto-Standard bis zur ISO-Norm.
- Neue Features: Namensräume, Ausnahmebehandlung, verschachtelte Klassen
- 1991: Cfront 3.0
- 1991: The C++ Programming Language, 2. Auflage
[Bearbeiten] Standard-C++
- 1990: ANSI C++ Committee gegründet
- 1991: ISO C++ Committee gegründet
- 1998:
C++98
(ISO/IEC 14882:1998)
- Neue Features: Laufzeit-Typinformation (engl. run-type type information, RTTI) (
dynamic_cast
,typeid
), kovariante Rückgabetypen, Cast-Operatoren,mutable
,bool
, Deklarationen in Bedingungen, explizite Vorlagen-Instanziierungen, Komponenten-Vorlagen,export
- Neue Bibliotheken: Container, Algorithmen, Iteratoren, Funktionsobjekte (basierend auf der STL), locales,
bitset
,valarray
,auto_ptr
,string
als Vorlage,iostream
undcomplex
- 1998: The C++ Programming Language, 3. Auflage
- 1999: Boost von den Mitgliedern des Ausschusses als Nährboden für neue Standard-Bibliothek Einrichtungen gegründet.
- 2003:
C++03
(ISO/IEC 14882:2003)
Dies war eine kleine Revision, soll kaum mehr als eine technische Berichtigung
- Neue Features: Wert-Initialisierung
- Defect Reports: 125 defects, einschließlich DR 69, der die Elemente von
std::vector
zusammenhängenden macht.
- 2006: Performance TR (ISO / IEC TR 18015:2006) (ISO Store) (2006 draft)
- 2007: Neue Bibliotheken: TR1 (ISO / IEC TR 19768:2007) (ISO store) (2005 draft).
- Von Boost:
reference_wrapper
, Smart Pointer, Memberfunktion
, Result Of,bind
,function
, Type Traits,random
, Spezielle mathematische Funktionen,tuple
,array
, ungeordnete Container (einschließlichhash
) und Reguläre Ausdrücke. - Von C99: mathematische Funktionen aus
<math.h>
, die neu in C99 waren, Leerzeichen-Zeichenklasse, Floating-Point-Umgebung, der I/O-Manipulatorhexfloat
, Ganzzahl-Typen mit fester Größe, der Typlong long
,va_copy
, diesnprintf()
undvscanf()
und ähnliche, und die C99-Konversionsspezifizierer fürprintf()
undscanf()
und ähnliche.
Alles von TR1 außer die speziellen Funktionen sind mit geringfügigen Änderungen in C++11 enthalten.
- {{{1}}}Original:{{{2}}}The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Diese TR ist ein C + +-Standard-Bibliothek Erweiterung, die die speziellen Funktionen, die Teil des TR1 waren fügt, waren aber nicht in C + 11 enthalten: elliptischen Integralen, exponential Integral Laguerre Polynome, Legendre, Hermite Polynome Bessel-Funktionen, Newmann Funktionen , beta-Funktion und Riemannsche Zeta-Funktion .
Original:
This TR is a C++ standard library extension, which adds the special functions that were part of TR1, but were not included in C++11: elliptic integrals, exponential integral, Laguerre polynomials, Legendre polynomials, Hermite polynomials, Bessel functions, Newmann functions, beta function, and Riemann zeta function.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
- 2011
C++11
(ISO/IEC 14882:2011) (ISO Store) (ANSI Store) (Post-publication draft).
Eine große Anzahl von Änderungen wurden eingeführt, um sowohl zu standardisieren bestehende Praktiken und verbessern die Abstraktionen steht den C + +-Programmierer
Original:
A large number of changes were introduced to both standardize existing practices and improve the abstractions available to the C++ programmers
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
# New Sprach-Features: Auto-und decltype, ausgefallen und gelöscht Funktionen, endgültig und Override, nachgestellte Rückgabetyp rvalue Referenzen, move Konstruktoren / move Zuordnung scoped Enumerationen constexpr wörtlichen und Typen, die Liste der Initialisierung, das Delegieren und Konstrukteure geerbt, Klammer-oder -gleich Initialisierungen, nullptr, lange, lange, char16_t und char32_t, Typ-Aliasnamen, variadische Vorlagen, generalisierte Gewerkschaften, generalisierte PODs, Unicode-Zeichenfolgenliterale, benutzerdefinierte Literale, Attribute, Lambda-Ausdrücke, noexcept, alignof und alignas Multithread-Speicher-Modell, Gewinde -lokalen Speicher, GC-Schnittstelle für (basierend auf einem Boost-Bibliothek), statische Assertions (basierend auf einem Boost-Bibliothek)
Original:
# New language features: auto and decltype, defaulted and deleted functions, final and override, trailing return type, rvalue references, move constructors/move assignment, scoped enums, constexpr and literal types, list initialization, delegating and inherited constructors, brace-or-equal initializers, nullptr, long long, char16_t and char32_t, type aliases, variadic templates, generalized unions, generalized PODs, Unicode string literals, user-defined literals, attributes, lambda expressions, noexcept, alignof and alignas, multithreaded memory model, thread-local storage, GC interface, range for (based on a Boost library), static assertions (based on a Boost library)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
# New Bibliotheks-Features: atomare Operationen Bibliothek, emplace () und andere Verwendung rvalue Referenzen in allen Teilen der vorhandenen Bibliothek, std :: initializer_list, stateful und scoped Zuweiser, forward_list, Chrono-Bibliothek, Verhältnis Bibliothek, neue Algorithmen, Unicode-Konvertierung Facetten
Original:
# New library features: atomic operations library, emplace() and other use of rvalue references throughout all parts of the existing library, std::initializer_list, stateful and scoped allocators, forward_list, chrono library, ratio library, new algorithms, Unicode conversion facets
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
# Von TR1: alle TR1 außer Spezielle Funktionen .
Original:
# From TR1: all of TR1 except Special Functions.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
# Von Boost: Der Thread-Bibliothek, exception_ptr, error_code und error_condition, iterator Verbesserungen (std :: begin, std :: end, std :: nächsten, std :: prev)
Original:
# From Boost: The thread library, exception_ptr, error_code and error_condition, iterator improvements (std::begin, std::end, std::next, std::prev)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
# Von C: C-style Unicode-Konvertierung Funktionen
Original:
# From C: C-style Unicode conversion functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
# Defect Reports fest: 363 defects von 2008 Entwurf und 322 defects aufgelöst, nachdem beschlossen. Einige beachtenswerte Mängel sind 530, die std :: basic_string Objekten angrenzenden gemacht .
Original:
# Defect Reports fixed: 363 defects resolved by the 2008 draft and 322 defects resolved after. Notable defects include 530, which made std::basic_string objects contiguous.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
- {{{1}}}Original:{{{2}}}The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Das TR implementiert die Decimal Floating-Point-Typen von IEEE 754-2008 Standard für Floating-Point-Arithmetik: std :: decimal :: decimal32, std :: decimal :: decimal64 und std :: decimal :: decimal128 .
Original:
This TR implements the decimal floating-point types from IEEE 754-2008 Standard for Floating-Point Arithmetic: std::decimal::decimal32, std::decimal::decimal64, and std::decimal::decimal128.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[Bearbeiten] Zukünftige Entwicklung
- 2013 Der C + + Programming Language, 4. AuflageOriginal:2013 The C++ Programming Language, 4th editionThe text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions. - Bibliothek Erweiterungen TR2Original:Library extensions TR2The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Der nächste Satz von Bibliotheken Erweiterungen ist offen für Vorschläge
Original:
The next set of library extensions is open for proposals
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
# Von boost: Dateisystem (im Lieferumfang von Visual Studio seit 2011), Vernetzung
Original:
# From boost: filesystem (shipped by Visual Studio since 2011), networking
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
- C++1x
Die nächste Revision des C + +-Standard ist offen für Vorschläge
Original:
The next revision of the C++ standard is open for proposals
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.