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


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 также определяет несколько операторов вставки. Для получения дополнительной информации см. 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, и содержит последовательность. Если N <_Ostr.width, затем функция также вводит повторение символов _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.обращен(_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 значение в процессе).

Пример

В разделе приток пример использования operator<<.

Требования

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

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

См. также

Ссылки

basic_ostream::operator<<

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

Соглашения iostreams