<ostream> Операторов

operator<<

operator<<

Записывает в поток различные типы.

template <class _Elem, class _Tr>
basic_ostream<_Elem, _Tr>& operator<<(
    basic_ostream<_Elem, _Tr>& _Ostr,
    const Elem* str);

template <class _Elem, class _Tr>
basic_ostream<_Elem, _Tr>& operator<<(
    basic_ostream<_Elem, _Tr>& _Ostr,
    Elem _Ch);

template <class _Elem, class _Tr>
basic_ostream<_Elem, _Tr>& operator<<(
    basic_ostream<_Elem, _Tr>& _Ostr,
    const char* str);

template <class _Elem, class _Tr>
basic_ostream<_Elem, _Tr>& operator<<(
    basic_ostream<_Elem, _Tr>& _Ostr,
    char _Ch);

template <class _Tr>
basic_ostream<char, _Tr>& operator<<(
    basic_ostream<char, _Tr>& _Ostr,
    const char* str);

template <class _Tr>
basic_ostream<char, _Tr>& operator<<(
    basic_ostream<char, _Tr>& _ostr,
    char _Ch);

template <class _Tr>
basic_ostream<char, _Tr>& operator<<(
    basic_ostream<char, _Tr>& _Ostr,
    const signed char* str);

template <class _Tr>
basic_ostream<char, _Tr>& operator<<(
    basic_ostream<char, _Tr>& _Ostr,
    signed char _Ch);

template <class _Tr>
basic_ostream<char, _Tr>& operator<<(
    basic_ostream<char, _Tr>& _Ostr,
    const unsigned char* str);

template <class _Tr>
basic_ostream<char, _Tr>& operator<<(
    basic_ostream<char, _Tr>& _Ostr,
    unsigned char _Ch);

template <class _Elem, class _Tr, class T>
basic_ostream <_Elem, _Tr>& operator<<(
    basic_ostream<_Elem, _Tr>&& _Ostr,
    Ty val);

Параметры

_Ch
Символ.

_Elem
Тип элемента.

_Ostr
Объект basic_ostream.

str
Строка символов.

_Tr
Признаки символа.

Val
Тип .

Возвращаемое значение

Поток.

Замечания

Класс basic_ostream также определяет несколько операторов вставки. Дополнительные сведения см. в разделе basic_ostream::operator<<.

Функция-шаблон

template <class _Elem, class _Tr>
basic_ostream<Elem, _Tr>& operator<<(
    basic_ostream<Elem, _Tr>& _ostr,
    const Elem *str);

определяет длину N = traits_type::length(str) последовательности, начинаемой на str, и вставляет последовательность. Если ширина N<_Ostr., функция также вставляет повторение _Ostr.width символов заливки N. Повторение предшествует последовательности, если (_Ostr). флаги & adjustfield != слева. В противном случае повторение следует за последовательностью. Функция возвращает _Ostr.

Функция-шаблон

template <class _Elem, class _Tr>
basic_ostream<Elem, _Tr>& operator<<(
    basic_ostream<Elem, _Tr>& _Ostr,
    Elem _Ch);

вставляет элемент _Ch. Если значение 1 <_Ostr.width, функция также вставляет повторение _Ostr.width символов - 1 заливки. Повторение предшествует последовательности, если _Ostr.flags & adjustfield != left. В противном случае повторение следует за последовательностью. Он возвращает _Ostr.

Функция-шаблон

template <class _Elem, class _Tr>
basic_ostream<Elem, _Tr>& operator<<(
    basic_ostream<Elem, _Tr>& _Ostr,
    const char *str);

ведет себя так же, как

template <class _Elem, class _Tr>
basic_ostream<Elem, _Tr>& operator<<(
    basic_ostream<Elem, _Tr>& _Ostr,
    const Elem *str);

за исключением того, что каждый элемент _Ch последовательности, начинающейся с str, преобразуется в объект типа Elem путем вызова_Ostr. put(_Ostr.widen(_Ch)).

Функция-шаблон

template <class _Elem, class _Tr>
basic_ostream<Elem, _Tr>& operator<<(
    basic_ostream<Elem, _Tr>& _Ostr,
    char _Ch);

ведет себя так же, как

template <class _Elem, class _Tr>
basic_ostream<Elem, _Tr>& operator<<(
    basic_ostream<Elem, _Tr>& _Ostr,
    Elem _Ch);

за исключением того, что _Ch преобразуется в объект типа Elem путем вызова _Ostr.put( _Ostr.widen( _Ch )).

Функция-шаблон

template <class _Tr>
basic_ostream<char, _Tr>& operator<<(
    basic_ostream<char, _Tr>& _Ostr,
    const char *str);

ведет себя так же, как

template <class _Elem, class _Tr>
basic_ostream<Elem, _Tr>& operator<<(
    basic_ostream<Elem, _Tr>& _Ostr,
    const Elem *str);

(Она не обязательно должна расширять элементы перед их вставкой.)

Функция-шаблон

template <class _Tr>
basic_ostream<char, Tr>& operator<<(
    basic_ostream<char, _Tr>& _Ostr,
    char _Ch);

ведет себя так же, как

template <class _Elem, class _Tr>
basic_ostream<Elem, _Tr>& operator<<(
    basic_ostream<Elem, _Tr>& _Ostr,
    Elem _Ch);

(Перед вставой не нужно расширить _Ch .)

Функция-шаблон

template <class _Tr>
basic_ostream<char, _Tr>& operator<<(
    basic_ostream<char, _Tr>& _Ostr,
    const signed char *str);

Возвращает _Ostr << (const char *)str.

Функция-шаблон

template <class _Tr>
basic_ostream<char, _Tr>& operator<<(
    basic_ostream<char, _Tr>& _Ostr,
    signed char _Ch);

Возвращает _Ostr << (char)_Ch.

Функция-шаблон:

template <class _Tr>
basic_ostream<char, _Tr>& operator<<(
    basic_ostream<char, _Tr>& _Ostr,
    const unsigned char *str);

Возвращает _Ostr << (const char *)str.

Функция-шаблон:

template <class _Tr>
basic_ostream<char, _Tr>& operator<<(
    basic_ostream<char, _Tr>& _Ostr,
    unsigned char _Ch);

Возвращает _Ostr << (char)_Ch.

Функция-шаблон:

template <class _Elem, class _Tr, class T>
basic_ostream<_Elem, _Tr>& operator<<(
    basic_ostream<char, _Tr>&& _Ostr,
    T val);

возвращает _Ostr << val (и в процессе преобразует ссылку RValue в _Ostr на lvalue).

Пример

См. раздел flush с примером использования operator<<.

См. также

<ostream>