七、输入/输出流--基于字符串的流---basic_stringstream模板

来源:互联网 发布:电台节目录制软件 编辑:程序博客网 时间:2024/06/10 00:38

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之间的所有内部数据。

原创粉丝点击