Partilhar via


Operadores <ostream>

operator<<

operator<<

Grava vários tipos no fluxo.

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);

Parâmetros

_Ch
Um caractere.

_Elem
O tipo de elemento.

_Ostr
Um objeto basic_ostream.

str
Uma cadeia de caracteres.

_Tr
Características de caractere.

val
O tipo

Valor de retorno

O fluxo.

Comentários

A classe basic_ostream também define vários operadores de inserção. Para obter mais informações, consulte basic_ostream::operator<<.

A função do modelo

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

determina o tamanho de N = traits_type::length(str) do início da sequência em str e insere a sequência. Se N <_Ostr.width, a função também insere uma repetição de _Ostr.width - N caracteres de preenchimento. A repetição precede a sequência se _Ostr. bandeiras & adjustfield != esquerda. Caso contrário, a repetição segue a sequência. A função retorna _Ostr.

A função do modelo

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

insere o elemento _Ch. Se 1 <_Ostr.width, a função também insere uma repetição de _Ostr.width - 1 caracteres de preenchimento. A repetição precede a sequência se _Ostr.flags & adjustfield != left. Caso contrário, a repetição segue a sequência. Ela retorna _Ostr.

A função do modelo

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

comporta-se da mesma forma que

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

exceto pelo fato de cada elemento _Ch da sequência que começa em str ser convertido em um objeto do tipo Elem chamando _Ostr.put(_Ostr.widen(_Ch)).

A função do modelo

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

comporta-se da mesma forma que

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

exceto que _Ch é convertido em um objeto do tipo Elem chamando _Ostr.put( _Ostr.widen( _Ch )).

A função do modelo

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

comporta-se da mesma forma que

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

(Ele não precisa ampliar os elementos antes de inseri-los.)

A função do modelo

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

comporta-se da mesma forma que

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

(Ele não precisa ampliar _Ch antes de inseri-lo.)

A função do modelo

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

Retorna _Ostr << (const char *)str.

A função do modelo

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

Retorna _Ostr << (char)_Ch.

A função de modelo:

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

Retorna _Ostr << (const char *)str.

A função de modelo:

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

Retorna _Ostr << (char)_Ch.

A função de modelo:

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

retorna _Ostr << val (e converte um RValue Reference para _Ostr para um lvalue no processo).

Exemplo

Consulte flush para ver um exemplo usando operator<<.

Confira também

<ostream>