| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung |
| modern_cpp [2025-06-21 18:03] – [C++26] rrichter | modern_cpp [2026-03-30 11:49] (aktuell) – [C++26] rrichter |
|---|
| im 3-Jahres-Rhythmus weiterentwickelt (siehe [[https://isocpp.org/std/status|Zeitleiste]]). | im 3-Jahres-Rhythmus weiterentwickelt (siehe [[https://isocpp.org/std/status|Zeitleiste]]). |
| Aktuelle [[Compiler]] [[http://en.cppreference.com/w/cpp/compiler_support|unterstützen]] „modernes“ | Aktuelle [[Compiler]] [[http://en.cppreference.com/w/cpp/compiler_support|unterstützen]] „modernes“ |
| [[#C++11]](( | [[#C++11]], |
| Frei zugänglich: ISO C++ Working Draft (C++11 WD) = ISO Standard C++ 2011 + | [[#C++14]], |
| Bugfixes [[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3337.pdf|N3337]] (2012-01-16). | [[#C++17]] (fast) vollständig und |
| )), | [[#C++20]], |
| [[#C++14]](( | [[#C++23]], |
| N3796. Frei zugänglich: [[http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2013/n3797.pdf]] (2013-10-13).\\ | [[#C++26]] |
| Herb Sutter: [[https://isocpp.org/blog/2014/08/we-have-cpp14|We have C++14!]] (2014-08-18). | |
| )), | |
| [[#C++17]](( | |
| DIS N4660. Frei zugänglich: Working Draft [[http://open-std.org/JTC1/SC22/WG21/docs/papers/2017/n4659.pdf|N4659]] (2017-03-21).\\ | |
| Herb Sutter: [[https://herbsutter.com/2017/09/06/c17-is-formally-approved/|C++17 is formally approved.]] (2017-09-06)\\ | |
| Thomas Köppe: Changes between C++14 and C++17 DIS. [[https://isocpp.org/files/papers/p0636r0.html|P0636R0]] (2017-04-02)\\ | |
| http://stackoverflow.com/questions/38060436/what-are-the-new-features-in-c17 (2016-06-30) | |
| )), | |
| [[#C++20]](( | |
| ISO International Standard ISO/IEC 14882:2020(E) – Programming Language C++. (2020-12).\\ | |
| DIS N4860. Frei zugänglich: Working Draft [[http://open-std.org/JTC1/SC22/WG21/docs/papers/2020/n4861.pdf|N4861]] (2020-04-01).\\ | |
| Bryce A. Lelbach: | |
| [[https://www.reddit.com/r/cpp/comments/f47x4o/202002_prague_iso_c_committee_trip_report_c20_is/|C++20 is done!]] (2020-02-15) \\ | |
| Herb Sutter: [[https://herbsutter.com/2020/02/15/trip-report-winter-iso-c-standards-meeting-prague/| Trip report: Winter ISO C++ standards meeting (Prague)]] (2020-02-15).\\ | |
| Herb Sutter: [[https://herbsutter.com/2020/09/06/c20-approved-c23-meetings-and-schedule-update/| C++20 approved.]] (2020-09-06). | |
| )), | |
| [[#C++23]](( | |
| ISO International Standard ISO/IEC 14882:2024(en) – Programming Language C++. (2024-10).\\ | |
| Frei zugänglich: Final Working Draft [[https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/n4950.pdf|N4950]] (2023-05-10).\\ | |
| https://herbsutter.com/2022/11/12/trip-report-autumn-iso-c-standards-meeting-kona/ (2022-11-12),\\ | |
| S.M.Downey: We will all ignore the 2024, yes? https://www.reddit.com/r/cpp/comments/1g7jpbt/isoiec_148822024/ (2024-10-20). | |
| )) | |
| zunehmend. | zunehmend. |
| [[cppref>cpp/experimental|Technische Spezifikationen]] (TS) | [[cppref>cpp/experimental|Technische Spezifikationen]] (TS) |
| und andere Vorschläge | und andere Vorschläge |
| können in den nächsten [[https://github.com/cplusplus/draft|Entwurf]] (C++26) einfließen. | können in den nächsten [[https://github.com/cplusplus/draft|Entwurf]] (C++29) einfließen. |
| Die folgenden Listen sind unvollständig und in ihrer Reihenfolge subjektiv. | Die folgenden Listen sind unvollständig und in ihrer Reihenfolge subjektiv. |
| |
| ===== C++26 ===== | ===== C++26 ===== |
| > | > //C++ crossed a Rubicon: it handed us the keys to its own machinery.// |
| > --- | > --- Herb Sutter((Herb Sutter: [[https://herbsutter.com/2026/03/29/c26-is-done-trip-report-march-2026-iso-c-standards-meeting-london-croydon-uk/|C++26 is done.]] Trip Report ISO C++ Meeting London Croydon (2026-03-29).)) |
| |
| * Static reflection ((Herb Sutter: [[https://herbsutter.com/2025/06/21/trip-report-june-2025-iso-c-standards-meeting-sofia-bulgaria//|Trip Report: ISO C++ Standards Meeting Sofia]]. (2025-06-21) )) | * Static reflection |
| | * kein undefiniertes Verhalten beim Lesen uninitialisierter lokaler Variablen |
| * Unterstrich als Platzhalter für unbenutzte Variablen: ''auto [x,_,z] = f();'' | * Unterstrich als Platzhalter für unbenutzte Variablen: ''auto [x,_,z] = f();'' |
| * ''<contracts>'' : Vor- und Nachbedingungen, Zusicherungen | * ''<contracts>'' : Vor- und Nachbedingungen, Zusicherungen |
| * ''<debugging>'' : Breakpoints im Quellcode setzen, Debugger-Unterstützung | * ''<debugging>'' : Breakpoints im Quellcode setzen, Debugger-Unterstützung |
| | * ''std::execution'' : Sender/Receiver-Modell für konkurrente und parallele Verarbeitung((Herb Sutter: [[https://herbsutter.com/2024/07/02/trip-report-summer-iso-c-standards-meeting-st-louis-mo-usa/|ISO Trip Report]] St Louis (2024-07-02). )) |
| * ''<hive>'' : Container für Elemente, die häufig entstehen und verschwinden (inspiriert von [[https://plflib.org/colony.htm|plf::colony]]) | * ''<hive>'' : Container für Elemente, die häufig entstehen und verschwinden (inspiriert von [[https://plflib.org/colony.htm|plf::colony]]) |
| * ''<linalg>'' : lineare Algebra mit BLAS-Funktionen | * ''<linalg>'' : lineare Algebra mit BLAS-Funktionen |