Namespaces
Variants

Compiler support for C++17

From cppreference.net

* - fahren Sie mit der Maus über eine mit dem Stern markierte Zelle * , um zusätzliche Pop-up-Notizen zu sehen.
DR nn - die Zahl nn nach "DR" bezeichnet die C++-Revision, auf die der Defect Report angewendet wird, z.B. DR20 → C++20.

C++17 Kernsprachfunktionen

**Übersetzte Elemente:** - "Nested namespace definition" → "Verschachtelte Namespace-Definition" - "Yes" → "Ja" **Beibehaltene Elemente:** - Alle HTML-Tags und Attribute - Alle numerischen Werte und Versionsnummern - C++-spezifische Begriffe (Namespace) - Code-Referenzen (N4230) **Übersetzte Textinhalte:** - "with no message" → "ohne Nachricht" - "Feature-testing macro" → "Feature-Test-Makro" - "Yes" → "Ja" **Beibehaltene Elemente:** - Alle HTML-Tags und Attribute - `static_assert` (C++-spezifischer Begriff) - FTM (Abkürzung) - __cpp_static_assert (Makroname) - Alle numerischen Werte und Versionsnummern - N3928 (Dokumentenreferenz) **Übersetzte Elemente:** - "character literals" → "Zeichenliterale" - "Yes" → "Ja" **Beibehaltene Elemente:** - Alle HTML-Tags und Attribute - Text innerhalb von ` `-Tags (`u8`) - C++-spezifische Begriffe - Numerische Werte und Versionsnummern - Formatierung und Struktur **Übersetzte Elemente:** - "Fold Expressions" → "Fold-Ausdrücke" - "Feature-testing macro" → "Feature-Test-Makro" - "Yes" → "Ja" **Beibehaltene Elemente:** - Alle HTML-Tags und Attribute - Technische Begriffe (FTM, N4295, Versionsnummern) - C++-spezifische Terminologie - Zahlenwerte und Formatierung **Übersetzte Elemente:** - "attribute" → "Attribut" - "Yes" → "Ja" **Beibehaltene Elemente:** - Alle HTML-Tags und Attribute - Text innerhalb von ` `-Tags (inklusive "fallthrough") - C++-spezifische Begriffe - Alle numerischen Werte und Versionsnummern - Link-Texte (P0188R1) **Übersetzte Elemente:** - "attribute" → "Attribut" - "Yes" → "Ja" **Beibehaltene Elemente:** - Alle HTML-Tags und Attribute - Text innerhalb von ` ` Tags (inklusive "nodiscard") - C++-spezifische Begriffe - Numerische Werte und Versionsnummern - Link-Referenzen (P0189R1) - Tooltip-Texte in title-Attributen **Übersetzungsdetails:** - "Inline variables" → "Inline-Variablen" (technischer C++-Begriff) - "Yes" → "Ja" (Standardübersetzung) - Alle HTML-Tags, Attribute, IDs, Links und numerischen Werte wurden unverändert beibehalten - Der Titel-Attributtext "Feature-testing macro..." wurde nicht übersetzt, da er Code-ähnlichen Charakter hat - FTM als Abkürzung wurde beibehalten
C++17-Funktion

Dokument(e)

GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ex PGI)*
Nvidia nvcc
Cray
Embarcadero C++ Builder
IBM Open XL C++ for AIX
DR11: Neue auto Regeln für Direct-List-Initialization N3922 5 3.8 19.0 (2015)* Ja 4.10.1 17.0 17.7 11.0 11.0 10.3 17.1.0
typename in einer Template-Template-Parameter N4051 5 3.5 19.0 (2015)* Ja 4.10.1 17.0 17.7 Ja* 11.0 10.3 17.1.0
Entfernung von trigraphs N4086 5 3.5 16.0* Ja 5.0 19.1 11.0 11.0 10.3 17.1.0
Verschachtelte Namespace-Definition N4230 6 3.6 19.0 (Update 3)* Ja 4.12 17.0 17.7 11.0 11.0 10.3 17.1.0
static_assert ohne Nachricht  ( FTM ) * N3928 6 2.5 19.10* Ja 4.12 18.0 17.7 11.0 11.0 10.3 17.1.0
Attribute für Namespaces und Enumeratoren  ( FTM ) * ( FTM ) * N4266 4.9 (teilweise)*
6
3.6 19.0 (2015)* Ja 4.11 17.0 17.7 11.0 11.0 10.3 17.1.0
u8 Zeichenliterale N4267 6 3.6 19.0 (2015)* Ja 4.11 17.0 17.7 11.0 11.0 10.3 17.1.0
Erlaube konstante Auswertung für alle konstanten Template-Argumente  ( FTM ) * N4268 6 3.6 19.12* Ja 5.0 19.0.1 19.1 11.0 11.0 10.3 17.1.0
Unäre Fold-Ausdrücke und leere Parameterpacks P0036R0 6 3.9 19.12* Ja 4.14 19.0 19.1 11.0 11.0 10.3 17.1.0
Entfernung der veralteten Verwendung des register Schlüsselworts P0001R1 7 3.8 19.11* Ja 4.13 18.0 17.7 11.0 11.0 10.3 17.1.0
Veralteten Operator entfernen operator ++ ( bool ) P0002R1 7 3.8 19.11* Ja 4.13 18.0 17.7 11.0 11.0 10.3 17.1.0
Machen Sie Ausnahmespezifikationen Teil des Typsystems  ( FTM ) * P0012R1 7 4 19.12* Ja 4.14 19.0 19.1 11.0 11.0 10.3 17.1.0
__has_include in Präprozessor-Bedingungen P0061R1 5 Ja 19.11* Ja 4.13 18.0 17.7 11.0 11.0 10.3 17.1.0
DR11: Neue Spezifikation für vererbende Konstruktoren ( DR1941 et al)  ( FTM ) * P0136R1 7 3.9 19.14* * Ja 6.1 19.1 11.0 11.0 10.3 17.1.0
Aggregate-Klassen mit Basisklassen  ( FTM ) * P0017R1 7 3.9 19.14* Ja 5.0 19.0.1 19.1 11.0 11.0 10.3 17.1.0
Fold-Ausdrücke ( FTM ) * N4295 6 3.6 19.12* Ja 4.14 19.0 18.1 11.0 11.0 10.3 17.1.0
Lambda-Erfassung von * this ( FTM ) * P0018R3 7 3.9 19.11* Ja 4.14 19.0 18.1 11.0 11.0 10.3 17.1.0
Direkte Listeninitialisierung von Enumerationen P0138R2 7 3.9 19.11* Ja 4.14 18.0 19.1 11.0 11.0 10.3 17.1.0
constexpr Lambda-Ausdrücke ( FTM ) * P0170R1 7 5 19.11* Ja 4.14 19.0 18.1 11.0 11.0 10.3 17.1.0
Unterschiedliche Begin- und End-Typen in bereichsbasierten for-Schleifen ( FTM ) * P0184R0 6 3.9 19.10* Ja 4.12 18.0 17.7 11.0 11.0 10.3 17.1.0
[[ fallthrough ]] Attribut P0188R1 7 3.9 19.10* Ja 4.13 18.0 17.7 11.0 11.0 10.3 17.1.0
[[ nodiscard ]] Attribut P0189R1 7 3.9 19.11* Ja 4.13 18.0 17.7 11.0 11.0 10.3 17.1.0
[[ maybe_unused ]] Attribut P0212R1 7 3.9 19.11* Ja 4.13 18.0 17.7 11.0 11.0 10.3 17.1.0
Hexadezimale Gleitkommaliterale ( FTM ) * P0245R1 3.0 Ja 19.11* Ja 4.13 18.0 17.7 11.0 11.0 10.3 17.1.0
Verwendung von Attribut-Namespaces ohne Wiederholung P0028R4 7 3.9 19.11* Ja 4.13 18.0 17.7 11.0 11.0 10.3 17.1.0
Dynamische Speicherallokation für überausgerichtete Daten  ( FTM ) * P0035R4 7 4 19.12* 10.0.0* 4.14 19.0 19.1 11.0 11.0 10.3 17.1.0
Konstante Template-Parameter mit auto -Typ  ( FTM ) * P0127R2 7 4 19.14* Ja 5.0 19.0.1 19.1 11.0 11.0 10.3 17.1.0
Garantierte copy elision ( FTM ) * P0135R1 7 4 19.13* Ja 5.0 19.0.1 19.1 11.0 11.0 10.3 17.1.0
Ersetzung von Klassenobjekten mit Referenzmitgliedern P0137R1 7 6 19.14* Ja 5.0 19.1 11.0 11.0 10.3 17.1.0
Strengere Auswertungsreihenfolge von Ausdrücken P0145R3 7 4 19.14* Ja 5.0 19.0.1 19.1 11.0 11.0 10.3 17.1.0
Strukturierte Bindungen ( FTM ) * P0217R3 7 4 19.11* Ja 4.14 19.0 18.1 11.0* 11.0 10.3 17.1.0
Unbekannte Attribute ignorieren attributes P0283R2 Ja 3.9 19.0 (2015)* Ja 4.13 18.0 17.7 11.0 11.0 10.3 17.1.0
constexpr if Anweisungen  ( FTM ) * P0292R2 7 3.9 19.11* Ja 4.14 19.0 18.1 11.0 11.0 10.3 17.1.0
Initialisierungsanweisungen für if und switch P0305R1 7 3.9 19.11* Ja 4.14 18.0 18.1 11.0 11.0 10.3 17.1.0
Inline-Variablen ( FTM ) * P0386R2 7 3.9 19.12* Ja 4.14 19.0 18.1 11.0 11.0 10.3 17.1.0
Entfernung von dynamischen Exception-Spezifikationen P0003R5 7 4 19.12* Ja 4.14 19.0 19.1 11.0 11.0 10.3 17.1.0
Pack-Erweiterungen in using-Deklarationen  ( FTM ) * P0195R2 7 4 19.14* Ja 5.0 19.0 19.1 11.0 11.0 10.3 17.1.0
DR98: Abgleich von Template-Template-Argumenten schließt kompatible Templates aus  ( FTM ) * P0522R0 7 4 19.12* Ja 5.0 19.0.1 19.1 11.0 11.0 10.3 17.1.0
Klassentemplate-Argumentdeduktion ( FTM ) * P0091R3 7 5 19.14* Ja 5.0 19.0.1 19.1 11.0 11.0 10.3 17.1.0


C++17-Funktionalität


Dokument(e)
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ex PGI)*
Nvidia nvcc
Cray
Embarcadero C++ Builder
IBM Open XL C++ for AIX

C++17-Bibliotheksfunktionen

**Änderungen:** - "Yes" wurde zu "Ja" übersetzt - Alle HTML-Tags, Attribute und C++-spezifischen Begriffe (wie `std::uncaught_exceptions()`, `FTM`, `N4259`, etc.) wurden beibehalten - Die Formatierung und Struktur des HTML-Codes bleibt unverändert **Übersetzte Elemente:** - "Yes" → "Ja" (in der Spalte für "Yes") - "N/A" → "N/V" (Nicht verfügbar) **Beibehaltene Elemente:** - Alle HTML-Tags und Attribute - `std::invoke`, `FTM`, `N4169` und andere C++-spezifische Begriffe - Zahlenwerte und Versionsnummern - HTML-Formatierung und Stile - Titelattribute und Link-Texte **Änderungen:** - "Yes" → "Ja" (in der Spalte für die Unterstützung) - "N/A" → "N/V" (Nicht Verfügbar/Nicht Zutreffend) Alle HTML-Tags, Attribute, C++-spezifischen Begriffe und Code-Elemente wurden unverändert beibehalten. **Übersetzte Elemente:** - "Yes" → "Ja" (in der Spalte für die Unterstützung) - "N/A" → "N/V" (Nicht verfügbar) **Beibehaltene Elemente:** - Alle HTML-Tags und Attribute - C++-spezifische Begriffe (`std::unordered_map::try_emplace`, `std::unordered_map::insert_or_assign`, `FTM`, `__cpp_lib_unordered_map_try_emplace`) - Code-ähnliche Elemente und Versionsnummern - Link-Texte und Dokumenttitel **Änderungen:** - "Yes" → "Ja" (deutsche Übersetzung) - "N/A" → "N/V" (deutsche Abkürzung für "Nicht Verfügbar") **Beibehalten:** - Alle HTML-Tags und Attribute - C++-spezifische Begriffe (`std::bool_constant`, `FTM`, `__cpp_lib_bool_constant`) - Code-ähnliche Elemente und Makros - Numerische Werte und Versionsnummern - Formatierung und Struktur **Änderungen:** - "Yes" → "Ja" (deutsche Übersetzung für "Yes") - "N/A" → "N/V" (deutsche Abkürzung für "Nicht Verfügbar" - entspricht "Not Available") **Nicht übersetzt wurden:** - HTML-Tags und Attribute - C++-spezifische Begriffe (`std::as_const`, `FTM`, `__cpp_lib_as_const`) - Versionsnummern und technische Bezeichnungen - Link-Texte und Titelattribute **Übersetzungsdetails:** - "Polymorphic memory resources" → "Polymorphe Speicherressourcen" (fachlich korrekte Übersetzung) - "Feature-testing macro" → "Feature-Test-Makro" (technische Bezeichnung) - HTML-Tags, Attribute, C++-spezifische Begriffe und Code wurden unverändert belassen - Alle numerischen Werte und Versionsnummern wurden nicht übersetzt - Formatierung und Struktur wurden exakt beibehalten **Übersetzungserläuterungen:** - "Searchers" → "Searcher" (technischer Begriff im Deutschen) - "Feature-testing macro" → "Feature-Test-Makro" - "Yes" → "Ja" - "N/A" → "N/V" (Nicht Verfügbar) - HTML-Tags, Attribute und technische Bezeichnungen wurden unverändert belassen - C++-spezifische Begriffe wie "Boyer-Moore-Searcher" wurden nicht übersetzt **Änderungen:** - "Yes" → "Ja" (deutsche Übersetzung für "Yes") - "N/A" → "N/V" (deutsche Abkürzung für "Nicht Verfügbar") - Alle HTML-Tags, Attribute, C++-spezifischen Begriffe und Code-Elemente wurden unverändert beibehalten **Übersetzungshinweise:** - "3-argument overload" → "3-Argument-Überladung" - "of" → "von" - "Yes" → "Ja" (in der entsprechenden Tabellenzelle) - "N/A" → "N/V" (Nicht Verfügbar) - Alle HTML-Tags, Attribute und C++-spezifische Begriffe (std::hypot, FTM, Makronamen) wurden unverändert belassen - Die Formatierung und Struktur des HTML-Codes wurde vollständig beibehalten **Änderungen:** - "and" wurde zu "und" übersetzt - Alle HTML-Tags, Attribute und C++-spezifische Begriffe (Maps, Sets, FTM, N/A) wurden beibehalten - Die Formatierung und Struktur wurde vollständig erhalten **Änderungen:** - "Yes" → "Ja" (deutsche Übersetzung für "Yes") - "N/A" → "N/V" (deutsche Abkürzung für "Nicht Verfügbar" - entspricht "Not Available") **Beibehalten:** - Alle HTML-Tags und Attribute - C++-spezifische Begriffe (`std::has_unique_object_representations`, `FTM`, `__cpp_lib_has_unique_object_representations`) - Code-ähnliche Elemente (Versionsnummern, Makronamen) - Formatierung und Struktur der Tabelle **Änderungen:** - "and" → "und" - "Feature-testing macro" → "Feature-Test-Makro" - "Yes" → "Ja" Alle HTML-Tags, Attribute, C++-spezifische Begriffe (`std::gcd()`, `std::lcm()`, `FTM`, `__cpp_lib_gcd_lcm`) und numerische Werte wurden unverändert beibehalten. **Änderungen:** - "Yes" wurde zu "Ja" übersetzt - "N/A" wurde zu "N/V" (Nicht Verfügbar) übersetzt - Alle HTML-Tags, Attribute und C++-spezifische Begriffe (shared_ptr::weak_type, FTM, P0163R0, etc.) wurden beibehalten - Die Formatierung und Struktur wurde vollständig erhalten **Änderungen:** - "Yes" → "Ja" (in der entsprechenden Tabellenzelle) - "N/A" → "N/V" (Nicht Verfügbar) - Alle HTML-Tags, Attribute und C++-spezifischen Begriffe (`std::is_aggregate`, `FTM`, `LWG2911`, etc.) wurden beibehalten - Die Formatierung und Struktur des HTML-Codes bleibt unverändert
C++17-Funktionalität

Paper(s)

GCC libstdc++
Clang libc++
MSVC STL
Apple Clang*
IBM Open XL C/C++ for AIX*
Intel Parallel STL
Embarcadero C++ Builder*
std::void_t ( FTM ) * N3911 6.1 3.6 19.0 (2015)* Ja 17.1.0 N/V 10.3
std::uncaught_exceptions() ( FTM ) * N4259 6.1 3.7 19.0 (2015)* Ja 17.1.0 N/A 10.3
std::size() , std::empty() und std::data() ( FTM ) * N4280 6 3.6 19.0 (2015)* Ja 17.1.0 N/A 10.3
std::allocator_traits::is_always_equal , noexcept Bereinigungen  ( FTM ) * N4258 6.1 3.7 19.0 (2015)* 17.1.0 N/A
std::invoke ( FTM ) * N4169 6.1 3.7 19.0 (2015)* Ja 17.1.0 N/V
std::map::try_emplace , std::map::insert_or_assign ( FTM ) * N4279 6.1 3.7 19.0 (2015)* Ja 17.1.0 N/V
std::unordered_map::try_emplace , std::unordered_map::insert_or_assign ( FTM ) * N4279 6.1 3.7 19.0 (2015)* Ja 17.1.0 N/V
Verbesserung von std::pair und std::tuple N4387 6.1 4 19.0 (Update 2)* Ja 17.1.0 N/A 10.3
std::bool_constant ( FTM ) * N4389 6.1 3.7 19.0 (2015)* Ja 17.1.0 N/V 10.3
std::shared_mutex (ungetimed)  ( FTM ) * N4508 6 3.7 19.0 (Update 2)* Ja 17.1.0 N/V 10.3
Minimale Unterstützung für unvollständige Typen für std::forward_list , std::list und std::vector ( FTM ) * N4510 3.0 3.6 18.0* Ja 17.1.0 N/A
Type-Traits Variablen-Templates  ( FTM ) * P0006R0 7.1 3.8 19.0 (Update 2)* Ja 17.1.0 N/A 10.3
Logische Operatoren-Typ-Traits ( FTM ) * P0013R1 6.1 3.8 19.0 (Update 2)* Ja 17.1.0 N/A 10.3
std::as_const ( FTM ) * P0007R1 7.1 3.8 19.0 (Update 2)* Ja 17.1.0 N/V
Rundungsfunktionen für std::chrono::duration und std::chrono::time_point ( FTM ) * P0092R1 7.1 3.8 19.0 (Update 2)* Ja 17.1.0 N/A
Transparente std::owner_less ( std::owner_less<void> )  ( FTM ) * P0074R0 7.1 3.8 19.0 (Update 2)* Ja 17.1.0 N/A
std::not_fn ( FTM ) * P0005R4
P0358R1
7.1 3.9 19.12* Ja 17.1.0 N/V 10.3
Parallele Algorithmen und Ausführungsrichtlinien ( FTM ) * ( FTM ) * P0024R2 9* 17
(teilweise)*
19.14* 18.0*
std::clamp() ( FTM ) * P0025R1 7 3.9 19.0 (Update 3)* 10.0.0* 17.1.0 N/A 10.3
(nothrow-)swappable-Traits ( FTM ) * P0185R1 7.1* 3.9 19.0 (Update 3)* 10.0.0* 17.1.0 N/A 10.3
Polymorphe Speicherressourcen ( FTM ) * P0220R1 9.1 16 19.13* 15.0.0* 17.1.1 N/A 10.3
std::apply ( FTM ) * P0220R1 7.1 16 19.13* Ja 17.1.0 N/V
Searcher ( FTM ) * P0220R1 7.1 16 19.13* Ja 17.1.0 N/V
std::sample ( FTM ) * P0220R1 7.1 16 19.13* Ja 17.1.0 Nicht verfügbar
Mathematische Spezialfunktionen ( FTM ) * P0226R1 7 19.14* 17.1.1 N/A 10.3
constexpr std::addressof ( FTM ) * LWG2296 7.1 Ja 19.0 (Update 3)* 17.1.0 Nicht zutreffend
constexpr für std::reverse_iterator , std::move_iterator , std::array und Bereichszugriff ( FTM ) * P0031R0 7.1 4 19.11* Ja 17.1.0 N/A
constexpr std:: atomic < T > :: is_always_lock_free ( FTM ) * P0152R1 7.1 3.9 19.11* Ja 17.1.0 N/A
std::enable_shared_from_this::weak_from_this ( FTM ) * P0033R1 7.1 3.9 19.12* Ja 17.1.0 N/V
3-Argument-Überladung von std::hypot ( FTM ) * P0030R1 7.1 3.9 19.14* Ja 17.1.0 N/V
std::byte ( FTM ) * P0298R3 7 5 19.11* Ja 17.1.1 N/A 10.3
std::string_view ( FTM ) * N3921
P0220R1
P0254R2
P0403R1
7.1 4 19.10* (teilweise)*
19.11* *
10.0.0* 17.1.0 N/V 10.3
std::any ( FTM ) * P0220R1
P0032R3
7.1 4 19.10* 10.0.0* 17.1.0 N/A 10.3
std::optional ( FTM ) * P0220R1 7.1 4 19.10* 10.0.0* 17.1.0 N/A 10.3
Großer Teil der C11-Standardbibliothek P0063R3 9.1 7 19.0 (2015)*
(teilweise)*
10.0.0* 17.1.1 N/A
Splicing Maps und Sets ( FTM ) * P0083R3 7 8 19.12* 10.0.0* 17.1.1 N/A
Rückgabetyp der emplace * Funktionen einiger Container wurde von void auf Referenz geändert P0084R2 7.1 4.0 19.11* Ja 17.1.0 N/A
std::variant ( FTM ) * P0088R3 7.1 4 19.10* 10.0.0* 17.1.0 N/A 10.3
std::make_from_tuple() ( FTM ) * P0209R2 7.1 3.9 19.10* Ja 17.1.0 N/V 10.3
std::has_unique_object_representations ( FTM ) * P0258R2 7.1 6 19.11* Ja 17.1.1 N/V 10.3
std::gcd() und std::lcm() ( FTM ) * P0295R0 7 4 19.11* Ja 17.1.0 N/A 10.3
CWG Issue 1776 : Ersetzung von Klassenobjekten mit Referenzmembern ( std::launder )  ( FTM ) * P0137R1 7.1 6 19.14* Ja 17.1.0 N/A
Erweiterung der Speicherverwaltungswerkzeuge ( FTM ) * P0040R3 7.1 4 19.11* 17.1.0 N/A
shared_ptr::weak_type ( FTM ) * P0163R0 7.1 3.9 19.10* Ja 17.1.0 N/V
Elementare String-Konvertierungen : std:: to_chars / std:: from_chars ( FTM ) * P0067R5 8*
11
7*
14*
20*
19.14* *
19.24*
10.0.0* * 17.1.1* N/A 10.3*
std::shared_ptr und std::weak_ptr mit Array-Unterstützung P0414R2 7 11 19.12* 12.0.0* 17.1.1 N/A 10.3
Constexpr für alle Memberfunktionen von std::chrono::duration und std::chrono::time_point ( FTM ) * P0505R0 7.1 4 19.11* Ja 17.1.1 N/A
std:: shared_ptr < T [ ] > ( FTM ) * P0497R0 7.1 11 19.12* 17.1.1 N/A
constexpr std::char_traits ( FTM ) * P0426R1 8.1 4 19.14* Ja 17.1.1 N/A
Dateisystem-Bibliothek ( std::filesystem )  ( FTM ) * P0218R1
P0219R1
8 7 19.14* 11.0.0* 17.1.1 N/A 10.3
Hardware-Interferenzgröße ( FTM ) * P0154R1 12.1 15 (teilweise)*
19
19.11* N/A 10.3
std::scoped_lock ( FTM ) * P0156R2 7 5 19.11* Ja 17.1.1 N/V 10.3
std::is_aggregate ( FTM ) * LWG2911 7 5 19.15* Ja 17.1.1 N/V 10.3
std::is_invocable , std::invoke_result ( FTM ) * P0604R0 7.1 Ja 19.11* Ja 17.1.1 Nicht zutreffend
DR17: std::hash<std::filesystem::path> LWG3657 11.4 17 19.32* N/A


C++17-Funktionalität


Paper(s)
GCC libstdc++
Clang libc++
MSVC STL
Apple Clang*
IBM Open XL C/C++ for AIX*
Intel Parallel STL
Embarcadero C++ Builder*
Hinweise
  • Stand 20. November 2020 ist die neueste Version von Oracle Developer Studio 12.6 . Die Dokumentation erwähnt C++17 nicht.
  • Der Cray-Compiler könnte Unterstützung für einige Funktionen bereits vor Version 11.0 bieten. Diese Version markiert den Zeitpunkt, zu der er zu einem Derivat von Clang wurde und dabei die gesamte Sprachfunktionsunterstützung des Basiscompilers übernahm. Siehe Cray/HPE-Dokument S-2179 .