2 basic_istringstream 模板
basic_istringstream模板支持讀取basic_string 模板類的對象;使用basic_stringbuf類對象控制相關存儲區域;
定義:
template < class charT, // basic_istringstream::char_type
class traits = char_traits<charT>, // basic_istringstream::traits_type
class Alloc = allocator<charT> // basic_istringstream::allocator_type
> class basic_istringstream;
2.1 basic_istringstream 構造函數
//default (1)
explicit basic_istringstream (ios_base::openmode which = ios_base::in);
//initialization (2)
explicit basic_istringstream (
const basic_string<char_type,traits_type,allocator_type>& str,
ios_base::openmode which = ios_base::in);
//copy (3)
basic_istringstream (const basic_istringstream&) = delete;
//move (4)
basic_istringstream (basic_istringstream&& x);
說明:
1. 前兩個構造函數主要用於構造累的對象以及其初始化緩衝區;
2. 第三個:被禁止的構造函數
3. 第四個:右值拷貝構造函數
2.2 basic_istringstream 成員函數
2.2.1 std::basic_istringstream::str
basic_string<char_type,traits_type,allocator_type> str() const;
void str (const basic_string<char_type,traits_type,allocator_type>& s);
說明:
1. 返回一個包含流的當前內容的副本的basic_string對象。
2. 將str設置爲流的內容,丟棄任何先前的內容。該對象保留其打開模式:如果這包括ios_base :: ate,寫入位置將移動到新序列的末尾。
2.2.2 std::basic_istringstream::rdbuf
- basic_ostringstream和basic_stringstream兩個類的rdbuf從basic_ios繼承,函數功能類似;
basic_stringbuf<char_type,traits_type,allocator_type>* rdbuf() const;
說明:
1. 返回指向內部basic_stringbuf對象的指針。
2.2.3 std::basic_istringstream::operator=
【c++11】新標準
//copy (1)
basic_istringstream& operator= (const basic_istringstream&) = delete;
//move (2)
basic_istringstream& operator= (basic_istringstream&& rhs);
左值拷貝被刪除,只能使用右值賦值。
2.3.4 std::basic_istringstream::swap
【c++11】標準
void swap (basic_istringstream& x);
交換x和*this之間的所有內部數據。