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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值