次の方法で共有


<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
文字の特徴 (traits)。

val

戻り値

ストリームです。

解説

basic_ostreamクラスもいくつかの挿入演算子を定義します。 詳細については、basic_ostream::operator<<を参照してください。

下記のテンプレート関数は

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

str で始まるシーケンスの長さ N = traits_type::length(str) を指定し、シーケンスを挿入します。 N <_Ostr.width の場合、この関数により、_Ostr.width - N 個繰り返される充填文字の挿入も行われます。 (_Ostr. flags & adjustfield != left。 それ以外の場合、繰り返しはシーケンスに後続します。 関数は _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);

異なる点は、str で始まるシーケンスの各要素 _Ch が、_Ostr.put(_Ostr.widen(_Ch)) を呼び出すことにより、Elem 型のオブジェクトに変換されることです。

下記のテンプレート関数は

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

異なる点は、_Ostr.put( _Ostr.widen( _Ch )) を呼び出すことにより、_ChElem 型のオブジェクトに変換されることです。

下記のテンプレート関数は

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 を返します (さらに _Ostr への RValue 参照をそのプロセス内の lvalue に変換します)。

operator<< の使用例は、flush をご覧ください。

関連項目

<ostream>