std::experimental::ostream_joiner<DelimT,CharT,Traits>::operator=
來自 cppreference.com
< cpp | experimental | ostream_joiner
template< class T > ostream_joiner& operator=( const T& value ); |
(1) | (庫基礎 TS v2) |
ostream_joiner& operator=( const ostream_joiner& other ) = default; |
(2) | (庫基礎 TS v2) (隱式宣告) |
ostream_joiner& operator=( ostream_joiner&& other ) = default; |
(3) | (庫基礎 TS v2) (隱式宣告) |
1) 首先,如果私有“首元素”標誌為 false,則將分隔符
delim
插入到與此迭代器關聯的輸出流 os
中,如同透過 os << delim;。 然後,無條件地將“首元素”標誌設定為 false,並將 value 插入到輸出流中,如同透過 os << value;。
令
out_stream
、delim
和 first_element
分別表示私有流指標、分隔符和“首元素”標誌成員。則此函式等價於if (!first_element) *out_stream << delim; first_element = false; *out_stream << value; return *this;
2,3) 隱式宣告的複製/移動賦值運算子,它複製/移動賦值私有流指標、分隔符和“首元素”標誌成員。
[編輯] 引數
value | - | 要寫入流的物件 |
其他 | - | 要賦值給此物件的 ostream_joiner 物件 |
[編輯] 返回值
*this.
[編輯] 示例
執行此程式碼
#include <experimental/iterator> #include <iostream> int main() { auto joiner = std::experimental::make_ostream_joiner(std::cout, ", "); joiner = "First"; joiner = "do no harm."; // prefixes with the delimiter }
輸出
First, do no harm.