Namensräume
Varianten
Aktionen

C++14

Von cppreference.com
< cpp

C++14 ist eine kleine Version nach der Hauptversion C++11, die hauptsächlich kleinere Verbesserungen und Fehlerbehebungen enthält. Ihre Genehmigung wurde am 18. August 2014 bekannt gegeben. Sie wurde am 15. Dezember 2014 veröffentlicht.

Vor ihrer Genehmigung wurde C++1y manchmal verwendet, um ihre Veröffentlichung in den 2010er Jahren anzuzeigen.

Inhalt

[bearbeiten] Neue Sprachfeatures

[bearbeiten] Neue Bibliotheksfeatures

[bearbeiten] Fehlerberichte

In C++14 behobene Fehlerberichte (276 Kern, 158 Bibliothek)

[bearbeiten] Compiler-Unterstützung

[bearbeiten] C++14 Kernsprachen-Features

C++14 Feature

 
Papier(e)

 
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ehem. PGI)*
Nvidia nvcc
Cray
 
Embarcadero C++ Builder
IBM Open XL C++ for AIX
IBM Open XL C++ for z/OS
IBM XL C++
Sun/Oracle C++
Angepasste Formulierung für kontextbezogene Konvertierungen N3323 4.9 3.4 18.0* Ja 4.9 16.0 16.1 9.0 8.6  10.3 17.1.0 1.1.0 13.1.2* 5.15
Binäre Literale  (FTM)* N3472 4.3*
4.9
2.9 19.0 (2015)* Ja 4.10 11.0 2015 9.0 8.6  10.3 17.1.0 1.1.0 13.1.2* 5.14
decltype(auto), Rückgabetyp-Deduktion für normale Funktionen  (FTM)*  (FTM)* N3638 4.8 (teilweise)*
4.9
3.3 (teilweise)*
3.4
19.0 (2015)* Ja 4.9 15.0 16.1 9.0 8.6  10.3 17.1.0 1.1.0 13.1.2* 5.15
Initialisierte/Generalisierte Lambda-Captures (Init-Capture)  (FTM)* N3648 4.5 (teilweise)
4.9
3.4 19.0 (2015)* Ja 4.10 15.0 16.1 9.0 8.6  10.3 17.1.0 1.1.0 16.1.1* 5.15
Generische Lambda-Ausdrücke  (FTM)* N3649 4.9 3.4 19.0 (2015)* Ja 4.10 16.0 16.1 9.0 8.6  10.3 17.1.0 1.1.0 13.1.2* 5.15
Variablentemplates  (FTM)* N3651 5 3.4 19.0 (Update 2)* Ja 4.11 17.0 17.4 9.0 8.6  10.3 17.1.0 1.1.0 13.1.2* 5.15
Erweitertes constexpr  (FTM)* N3652 5 3.4 19.10* Ja 4.11 17.0 17.4 9.0 8.6  10.3 17.1.0 1.1.0 13.1.2* 5.15
Aggregate mit Standard-Member-Initialisierern  (FTM)* N3653 5 3.3 19.10* Ja 4.9 16.0 16.1 9.0 8.6  10.3 17.1.0 1.1.0 16.1.1* 5.14
Auslassen/Erweitern von Speicherallokationen N3664 N/A 3.4 N/A Ja N/A N/A 17.4 N/A 8.6  10.3 17.1.0 1.1.0 N/A N/A
[[deprecated]] Attribut N3760 4.9 3.4 19.0 (2015)* Ja 4.9 15.0*
16.0
16.1 9.0 8.6  10.3 17.1.0 1.1.0 13.1.2* 5.14
Größenabhängige Deallokation  (FTM)* N3778 5 3.4 19.0 (2015)* Ja 4.10.1 17.0 16.1 8.6  10.3 17.1.0 1.1.0 16.1.1* 5.14
Einzelnes Anführungszeichen als Zifferntrenner N3781 4.9 3.4 19.0 (2015)* Ja 4.10 16.0 2015 9.0 8.6  10.3 17.1.0 1.1.0 13.1.2* 5.14
 

C++14 Feature
 

Papier(e)
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ehem. PGI)*
Nvidia nvcc
Cray
 
Embarcadero C++ Builder
IBM Open XL C++ for AIX
IBM Open XL C++ for z/OS
IBM XL C++
Sun/Oracle C++

[bearbeiten] C++14 Bibliotheksfeatures

C++14 Feature

 
Papier(e)

 
GCC libstdc++
Clang libc++
MSVC STL
Apple Clang*
 
IBM Open XL C/C++ for AIX*
Sun/Oracle C++*
Embarcadero C++ Builder*
constexpr für <complex> N3302 5 3.4 19.0 (2015)* Ja  17.1.0 5.15 10.3
Transparente Operator-Funktionsobjekte  (FTM)* N3421 4.9 3.4 18.0* Ja  17.1.0 5.15 10.3
std::result_of und SFINAE  (FTM)* N3462 5 Ja 19.0 (Update 2)* Ja  17.1.0 5.15 10.3
constexpr für <chrono> N3469 5 3.4 19.0 (2015)* Ja  17.1.0 5.15 10.3
constexpr für <array> N3470 5 3.4 19.0 (2015)* Ja  17.1.0 5.15 10.3
constexpr für <initializer_list>, <utility> und <tuple> N3471 5 3.4 19.0 (2015)* Ja  17.1.0 5.15 10.3
Verbessertes std::integral_constant  (FTM)* N3545 5 3.4 19.0 (2015)* Ja  17.1.0 5.15 10.3
Benutzerdefinierte Literale für <chrono> und <string>  (FTM)*  (FTM)* N3642 5 3.4 19.0 (2015)* Ja  17.1.0 5.15 10.3
Null-Forward-Iteratoren  (FTM)* N3644 5 (teilweise)
10
3.4 19.0 (2015)* Ja  17.1.0 5.15 10.3
std::quoted  (FTM)* N3654 5 3.4 19.0 (2015)* Ja  17.1.0 5.15 10.3
std::make_unique  (FTM)* N3656 4.9 3.4 18.0* Ja  17.1.0 5.15 10.3
Heterogene assoziative Suche  (FTM)* N3657 5 3.4 19.0 (2015)* Ja  17.1.0 5.15 10.3
std::integer_sequence  (FTM)* N3658 5 3.4 19.0 (2015)* Ja  17.1.0 5.15 10.3
std::shared_timed_mutex N3659 5 3.4 19.0 (2015)* Ja  17.1.0 5.15 10.3
std::exchange  (FTM)* N3668 5 3.4 19.0 (2015)* Ja  17.1.0 5.15 10.3
Beheben von constexpr Member-Funktionen ohne const N3669 5 3.4 19.0 (2015)* Ja  17.1.0 5.15 10.3
Adressierung von Tupeln nach Typ: std::get<T>()  (FTM)* N3670 5 3.4 19.0 (2015)* Ja  17.1.0 5.15 10.3
Dual-Range std::equal, std::is_permutation, std::mismatch  (FTM)* N3671 5 3.4 19.0 (2015)* Ja  17.1.0 5.15 10.3
Alias-Templates für Transformations-Traits  (FTM)* N3655 4.9 3.4 18.0* Ja 
Benutzerdefinierte Literale für std::complex  (FTM)* N3779 4.9 3.4 19.0 (2015)* Ja 
DR11: std::is_null_pointer  (FTM)* LWG2247 4.9 3.4 19.0 (2015)*  
std::is_final  (FTM)* LWG2112 5 3.4 19.0 (2015)*  
std::make_reverse_iterator  (FTM)* LWG2285 5 3.4 19.0 (2015)*  
std::shared_timed_mutex  (FTM)* N3891 4.9 3.5 19.0 (2015)* Ja 
std::tuple_element_t  (FTM)* N3887 4.10* 3.5 19.0 (2015)* Ja 
 

C++14 Feature
 

Papier(e)
GCC libstdc++
Clang libc++
MSVC STL
Apple Clang*
 
IBM Open XL C/C++ for AIX*
Sun/Oracle C++*
Embarcadero C++ Builder*

* - Bewegen Sie den Mauszeiger über eine Zelle, die mit dem Stern markiert ist *, um zusätzliche Pop-up-Hinweise zu sehen.
DRnn - die Nummer nn nach "DR" bezeichnet die Ziel-C++-Revision, auf die der Defect Report angewendet wird, z. B. DR20 → C++20.

[bearbeiten] Externe Links

1.  C++14 - Wikipedia
2.  Funktionierende C++14 Beispiele