<ostream>
演算子
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 ))
を呼び出すことにより、_Ch が Elem
型のオブジェクトに変換されることです。
下記のテンプレート関数は
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 をご覧ください。