Поделиться через


operator<< (<ostream>)

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

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 _Ty>
    basic_ostream<_Elem, _Tr>& operator<<(
        basic_ostream<_Elem, _Tr>&& _Ostr,
        Ty _Val
    );

Параметры

  • _Ch
    Символ.

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

  • _Ostr
    Объект basic_ostream.

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

  • _Tr
    Признаки знака.

  • _Val
    Тип

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

Поток.

Заметки

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

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

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

задает длину n = traits_type::длина(_Str) начала последовательности на _Str и вставки последовательность.Если < _Ostr.ширина n, затем функция также вводит повторение _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.поместите(_Ostr.расширение(_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 _Ty>
    basic_ostream<_Elem, _Tr>& operator<<(
        basic_ostream<char, _Tr>&& _Ostr,
        _Ty _Val
    );

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

Пример

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

Требования

заголовок: <ostream>

std пространство имен:

См. также

Ссылки

basic_ostream::operator<<

программирование iostream

соглашения iostreams