std::println(std::ostream)
| Definiert in Header <ostream> |
||
template< class... Args > void println( std::ostream& os, std::format_string<Args...> fmt, Args&&... args ); |
(1) | (seit C++23) |
void println( std::ostream& os ); |
(2) | (seit C++26) |
Formatiert args gemäß der Formatzeichenkette fmt mit angehängtem '\n' (was bedeutet, dass jede Ausgabe mit einer neuen Zeile endet) und fügt das Ergebnis in den os Stream ein.
Das Verhalten ist undefiniert, wenn std::formatter<Ti, char> die BasicFormatter-Anforderungen für irgendein Ti in Args nicht erfüllt (wie von std::make_format_args gefordert).
Inhalt |
[edit] Parameter
| os | - | Ausgabestream, in den Daten eingefügt werden sollen | ||||||||||||||||||||||||||||||||||||||||||||||
| fmt | - |
Jedes Ersetzungsfeld hat das folgende Format:
1) Ersetzungsfeld ohne Formatangabe
2) Ersetzungsfeld mit Formatangabe
| ||||||||||||||||||||||||||||||||||||||||||||||
| args... | - | zu formatierende Argumente | ||||||||||||||||||||||||||||||||||||||||||||||
[edit] Ausnahmen
- std::bad_alloc bei Zuweisungsfehler.
- Leitet jede Ausnahme, die von einem beliebigen Formatter ausgelöst wird, z. B. std::format_error, ohne Berücksichtigung des Werts von os.exceptions() und ohne ios_base::badbit im Fehlerzustand von os zu aktivieren, weiter.
- Kann ios_base::failure auslösen, die durch os.setstate(ios_base::badbit) verursacht wird, was aufgerufen wird, wenn ein Einfügen in os fehlschlägt.
[edit] Hinweise
Obwohl Überladung (2) in C++26 hinzugefügt wird, stellen alle bekannten Implementierungen sie im C++23-Modus zur Verfügung.
| Feature-Test-Makro | Wert | Std | Feature |
|---|---|---|---|
__cpp_lib_print |
202207L |
(C++23) | Formatierte Ausgabe |
__cpp_lib_format |
202207L |
(C++23) | Freigabe von std::basic_format_string |
[edit] Beispiel
| Dieser Abschnitt ist unvollständig Grund: kein Beispiel |
[edit] Fehlerberichte
Die folgenden Verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | angewendet auf | Verhalten wie veröffentlicht | Korrigiertes Verhalten |
|---|---|---|---|
| LWG 4088 | C++23 | (1) ignorierte das in os eingebettete Locale bei der Formatierung von Argumenten | ein solches Locale wird verwendet |
[edit] Siehe auch
| (C++23) |
gibt die formatierten Darstellung der Argumente aus (Funktionstemplate) |
| (C++23) |
dasselbe wie std::print, außer dass jeder Druck durch eine zusätzliche neue Zeile beendet wird (Funktionstemplate) |
| (C++20) |
speichert die formatierte Darstellung der Argumente in einem neuen String (Funktionstemplate) |