std::ostream_iterator
Материал из cppreference.com
![]() |
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Щёлкните здесь, чтобы увидеть английскую версию этой страницы. (Вы можете помочь в испра��лении ошибок и улучшении перевода. Для инструкций перейдите по ссылке.) |
Определено в заголовочном файле <iterator>
|
||
template< class T, class CharT = char, |
||
std::ostream_iterator
является однопроходной итератор вывода, который записывает последовательные объекты типа T
в std::basic_ostream объекта, для которого она была построена, используя operator<<
. Дополнительный разделитель строки записывается в выходной поток после каждой операции записи. Операция записи выполняется, когда итератор (будь разыменован или нет) назначен. Приращение std::ostream_iterator
является не-оп.Оригинал:
std::ostream_iterator
is a single-pass output iterator that writes successive objects of type T
into the std::basic_ostream object for which it was constructed, using operator<<
. Optional delimiter string is written to the output stream after every write operation. The write operation is performed when the iterator (whether dereferenced or not) is assigned to. Incrementing the std::ostream_iterator
is a no-op.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
В типичной реализации, только члены данных
std::ostream_iterator
являются указатель на связанный std::basic_ostream
и указатель на первый символ в строке разделителя.Оригинал:
In a typical implementation, the only data members of
std::ostream_iterator
are a pointer to the associated std::basic_ostream
and a pointer to the first character in the delimiter string.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
При написании символов, std::ostreambuf_iterator является более эффективным, так как оно позволяет избежать накладных расходов на строительство и разрушать часовой объект один раз в характере.
Оригинал:
When writing characters, std::ostreambuf_iterator is more efficient, since it avoids the overhead of constructing and destructing the sentry object once per character.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Содержание |
[править] Типы-члены
Тип члена | Определение |
char_type
|
CharT
|
traits_type
|
Traits
|
ostream_type
|
std::basic_ostream<CharT, Traits> |
[править] Функции-члены
создает новый ostream_iterator Оригинал: constructs a new ostream_iterator Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public функция-элемент) | |
разрушает ostream_iterator Оригинал: destructs an ostream_iterator Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public функция-элемент) | |
пишет объекта к соответствующей выходной последовательности Оригинал: writes a object to the associated output sequence Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public функция-элемент) | |
no-op (public функция-элемент) | |
no-op (public функция-элемент) |
[править] Типы элементы
Тип элемент | Определение | ||||
iterator_category
|
std::output_iterator_tag | ||||
value_type
|
void | ||||
difference_type
|
| ||||
pointer
|
void | ||||
reference
|
void |
Типы элемены |
(до C++17) |
[править] Пример
Запустить этот код
#include <iostream> #include <sstream> #include <iterator> #include <algorithm> int main() { std::istringstream str("0.1 0.2 0.3 0.4"); std::partial_sum( std::istream_iterator<double>(str), std::istream_iterator<double>(), std::ostream_iterator<double>(std::cout, " ")); }
Вывод:
0.1 0.3 0.6 1
[править] См. также
итератор вывода, записывающий в std::basic_streambuf (шаблон класса) | |
итератор ввода, читающий из std::basic_istream (шаблон класса) |