namespace cpp {}

C++ lernen, kennen, anwenden

Benutzer-Werkzeuge

Webseiten-Werkzeuge


modern_cpp

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
modern_cpp [2024-05-09 13:47] – [C++23] rrichtermodern_cpp [2025-03-09 16:01] (aktuell) – ↷ Links angepasst, weil Seiten im Wiki verschoben wurden 18.220.135.245
Zeile 34: Zeile 34:
 )), )),
 [[#C++23]](( [[#C++23]]((
-https://github.com/steve-downey/papers/blob/master/wg21-status.org (2022-06-15),\\ + ISO International Standard ISO/IEC 14882:2024(en) – Programming Language C++. (2024-10).\\ 
-https://wg21.link/n4917 Working Draft (PDF) (2022-09-05),\\ +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).+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.
Zeile 48: Zeile 49:
 > --- > ---
  
-  * Unterstrich als Platzhalter für unbenutzte Variablen: ''auto [x,y,_] = f();''+  * Unterstrich als Platzhalter für unbenutzte Variablen: ''auto [x,_,z] = f();''
  
 ===== C++23 ===== ===== C++23 =====
Zeile 56: Zeile 57:
   * ''import std;'' für Module der Standard-Bibliothek   * ''import std;'' für Module der Standard-Bibliothek
   * [[kennen:include:ranges]]: Temporäre Werte in range-based for leben länger ([[https://wg21.link/p2644|P2644]]).   * [[kennen:include:ranges]]: Temporäre Werte in range-based for leben länger ([[https://wg21.link/p2644|P2644]]).
 +    * an Python angelehnte Ausgabe mit ''format()'' ([[https://wg21.link/p2286|P2286]])
     * ''std::ranges::to<Container>'' ([[https://wg21.link/p1206r7|P1206]])     * ''std::ranges::to<Container>'' ([[https://wg21.link/p1206r7|P1206]])
     * ''std::views::enumerate''((Inbal Levi: https://www.slideshare.net/InbalLevi5/isockona2022tripreportpptx (2023-01-17).)), ''as_const'', ''as_rvalue'', ''cartesian_product'', ''chunk[_by]'', ''join_with'', ''repeat'', ''slide'', ''stride'', ''adjacent[_transform]'', ''pairwise[_transform]'', ''zip[_transform]''     * ''std::views::enumerate''((Inbal Levi: https://www.slideshare.net/InbalLevi5/isockona2022tripreportpptx (2023-01-17).)), ''as_const'', ''as_rvalue'', ''cartesian_product'', ''chunk[_by]'', ''join_with'', ''repeat'', ''slide'', ''stride'', ''adjacent[_transform]'', ''pairwise[_transform]'', ''zip[_transform]''
     * Algorithmen: ''iota()'', ''shift_left()'', ''shift_right()'', ''starts_with()'', ''ends_with()'', ''contains()'', ''fold()''     * Algorithmen: ''iota()'', ''shift_left()'', ''shift_right()'', ''starts_with()'', ''ends_with()'', ''contains()'', ''fold()''
-    * an Python angelehnte Ausgabe mit ''format()'' ([[https://wg21.link/p2286|P2286]]) 
   * [[kennen:include:generator|std::generator<T>]] für Coroutinen   * [[kennen:include:generator|std::generator<T>]] für Coroutinen
   * [[kennen:include:print|std::print()]] wirkt wie ''%%std::cout << format()%%'', ''std::println()'', formatierte Ausgabe für Ranges   * [[kennen:include:print|std::print()]] wirkt wie ''%%std::cout << format()%%'', ''std::println()'', formatierte Ausgabe für Ranges
Zeile 78: Zeile 79:
 [[https://devblogs.microsoft.com/cppblog/standard-c20-modules-support-with-msvc-in-visual-studio-2019-version-16-8/|Visual C++]] und [[https://devblogs.microsoft.com/cppblog/standard-c20-modules-support-with-msvc-in-visual-studio-2019-version-16-8/|Visual C++]] und
 [[https://gcc.gnu.org/wiki/cxx-modules|GCC]] [[https://gcc.gnu.org/wiki/cxx-modules|GCC]]
-experimentieren mit Modulen: [[howto:modules_gcc11|Beispiel mit g++ 11]],+experimentieren mit Modulen: [[howto:module_std_gcc15|Beispiel mit g++ 11]],
 [[https://github.com/royjacobson/modules-report|C++20 Modules Status Report]]. [[https://github.com/royjacobson/modules-report|C++20 Modules Status Report]].
 )) überwinden Probleme des ''#include''-Mechanismus (Präprozessor, Makros). ''import''-Anweisungen beschleunigen das Übersetzen, übergangsweise auch ''import <iostream>;'' Die Modularisierung der Standard-Bibliothek erfolgt erst mit C++23 ([[https://wg21.link/P0581|P0581]]). )) überwinden Probleme des ''#include''-Mechanismus (Präprozessor, Makros). ''import''-Anweisungen beschleunigen das Übersetzen, übergangsweise auch ''import <iostream>;'' Die Modularisierung der Standard-Bibliothek erfolgt erst mit C++23 ([[https://wg21.link/P0581|P0581]]).
modern_cpp.1715255260.txt.gz · Zuletzt geändert: 2024-05-09 13:47 von rrichter

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki