<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
字元特性。
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.
寬度,則函式也會插入 _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(widen(_Ostr.
_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);
不同之處在於,_Ch會藉由呼叫 _Ostr.put( _Ostr.widen( _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
到程序中的左值)。
範例
如需 operator<<
的使用範例,請參閱 flush。