4 basic_stringstream模板
basic_stringstream支持读写basic_string对象;
定义;
template < class charT, // basic_stringstream::char_type
class traits = char_traits<charT>, // basic_stringstream::traits_type
class Alloc = allocator<charT> // basic_stringstream::allocator_type
> class basic_stringstream;
4.1 basic_stringstream构造函数
//default (1)
explicit basic_stringstream (
ios_base::openmode which = ios_base::in | ios_base::out);
//initialization (2)
explicit basic_stringstream (
const basic_string<char_type,traits_type,allocator_type>& str,
ios_base::openmode which = ios_base::in | ios_base::out);
//copy (3)
basic_stringstream (const basic_stringstream&) = delete;
//move (4)
basic_stringstream (basic_stringstream&& x);
说明:
1. 前两个构造函数主要用于构类累的对象以及其初始化缓冲区;
2. 第三个:被禁止的拷贝构造函数,被删除
3. 第四个:右值拷贝构造函数
4.2 basic_ostringstream成员函数
4.2.1 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,写入位置将移动到新序列的末尾。
4.2.2 operator=
//copy (1)
basic_ostringstream& operator= (const basic_ostringstream&) = delete;
//move (2)
basic_ostringstream& operator= (basic_ostringstream&& rhs);
左值拷贝赋值被删除,只能使用右值赋值。
4.3.3 swap函数
void swap (basic_ostringstream& x);
交换x和*this之间的所有内部数据。