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

来源:互联网 发布:美工对电脑配置的要求 编辑:程序博客网 时间:2024/06/05 01:00

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

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

阅读全文
0 0
原创粉丝点击