Udostępnij za pośrednictwem


operator<< (<ostream>)

Writes various types to the stream.

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

Parameters

  • _Ch
    A character.

  • _Elem
    The element type.

  • _Ostr
    A basic_ostream object.

  • _Str
    A character string.

  • _Tr
    Character traits.

Return Value

The stream.

Remarks

The basic_ostream class also defines several insertion operators. For more information, see basic_ostream::operator<<.

The template function

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

determines the length N = traits_type::length(_Str) of the sequence beginning at _Str, and inserts the sequence. If N < _Ostr.width, then the function also inserts a repetition of _Ostr.width - N fill characters. The repetition precedes the sequence if (_Ostr.flags & adjustfield != left. Otherwise, the repetition follows the sequence. The function returns _Ostr.

The template function

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

inserts the element _Ch. If 1 < _Ostr.width, then the function also inserts a repetition of _Ostr.width - 1 fill characters. The repetition precedes the sequence if (_Ostr.flags & adjustfield != left. Otherwise, the repetition follows the sequence. It returns _Ostr.

The template function

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

behaves the same as

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

except that each element _Ch of the sequence beginning at _Str is converted to an object of type Elem by calling _Ostr.put(_Ostr. widen(_Ch)).

The template function

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

behaves the same as

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

except that _Ch is converted to an object of type Elem by calling _Ostr.put(_Ostr. widen(_Ch)).

The template function

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

behaves the same as

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

(It does not have to widen the elements before inserting them.)

The template function

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

behaves the same as

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

(It does not have to widen _Ch before inserting it.)

The template function

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

returns _Ostr << (const char *)**_**Str.

The template function

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

returns _Ostr << (char)_Ch.

The template function:

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

returns _Ostr << (const char *)_Str.

The template function:

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

returns _Ostr << (char)_Ch.

Example

See flush for an example using operator<<.

Requirements

Header: <ostream>

Namespace: std

See Also

Reference

basic_ostream::operator<<

iostream Programming

iostreams Conventions

Other Resources

<ostream> Members