std:: println (std::ostream)
|
Определено в заголовке
<ostream>
|
||
|
template
<
class
...
Args
>
void println ( std:: ostream & os, std:: format_string < Args... > fmt, Args && ... args ) ; |
(1) | (начиная с C++23) |
|
void
println
(
std::
ostream
&
os
)
;
|
(2) | (начиная с C++26) |
Форматирует
args
в соответствии со строкой формата
fmt
с добавлением
'
\n
'
(что означает, что каждый вывод завершается символом новой строки), и вставляет результат в поток
os
.
Поведение не определено, если
std::
formatter
<
Ti,
char
>
не удовлетворяет требованиям
BasicFormatter
для любого
Ti
в
Args
(как требуется
std::
make_format_args
).
Содержание |
Параметры
| os | - | выходной поток для вставки данных | ||||||||||||||||||||||||||||||||||||||||||||||
| fmt | - |
Каждое поле замены имеет следующий формат:
1)
поле замены без спецификации формата
2)
поле замены со спецификацией формата
|
||||||||||||||||||||||||||||||||||||||||||||||
| args... | - | аргументы для форматирования | ||||||||||||||||||||||||||||||||||||||||||||||
Исключения
- std::bad_alloc при ошибке выделения памяти.
- Распространяет любое исключение, выброшенное любым форматтером , например std::format_error , независимо от значения os. exceptions ( ) и без установки ios_base::badbit в состоянии ошибки os .
- Может выбрасывать ios_base::failure , вызванный os. setstate ( ios_base :: badbit ) , который вызывается при неудачной вставке в os .
Примечания
Хотя перегрузка ( 2 ) добавлена в C++26, все известные реализации делают её доступной в режиме C++23.
| Макрос тестирования возможностей | Значение | Стандарт | Возможность |
|---|---|---|---|
__cpp_lib_print
|
202207L
|
(C++23) | Форматированный вывод |
__cpp_lib_format
|
202207L
|
(C++23) | Предоставление std::basic_format_string |
Пример
|
Этот раздел не завершён
Причина: отсутствует пример |
Отчёты о дефектах
Следующие отчеты об изменениях в поведении, содержащие описания дефектов, были применены ретроактивно к ранее опубликованным стандартам C++.
| DR | Applied to | Behavior as published | Correct behavior |
|---|---|---|---|
| LWG 4088 | C++23 | ( 1 ) игнорировал локаль, установленную в os при форматировании аргументов | такая локаль используется |
Смотрите также
|
(C++23)
|
выводит
форматированное
представление аргументов
(шаблон функции) |
|
(C++23)
|
то же, что и
std::print
, но каждый вывод завершается дополнительным переводом строки
(шаблон функции) |
|
(C++20)
|
сохраняет форматированное представление аргументов в новой строке
(шаблон функции) |