basic_istringstream 类

描述了一个对象,该对象控制从 basic_stringbuf<Elem, Tr, Alloc> 类的流缓冲区中提取元素和编码对象的操作。

语法

template <class Elem, class Tr = char_traits<Elem>, class Alloc = allocator<Elem>>
class basic_istringstream : public basic_istream<Elem, Tr>

参数

Alloc
allocator 类。

Elem
字符串的基本元素的类型。

Tr
字符串的基本元素上专用的字符特征。

备注

这个类模板描述一个对象,该对象控制从 basic_stringbuf<Elem, Tr, Alloc> 类的流缓冲区中提取元素和编码对象的操作,该类具有 Elem 类型的元素,元素的字符特征由 Tr 类决定,并且其元素由 Alloc 类的分配器进行分配。 该对象存储 basic_stringbuf<Elem, Tr, Alloc> 类的对象。

构造函数

构造函数 说明
basic_istringstream 构造 basic_istringstream 类型的对象。

Typedef

类型名称 说明
allocator_type 该类型是模板参数 Alloc 的同义词。

成员函数

成员函数 说明
rdbuf basic_stringbuf<Elem, Tr, Alloc> 返回 pointer 类型的已存储流缓冲区的地址。
str 设置或获取字符串缓冲区中的文本,而无需更改写入位置。
swap 将此 basic_istringstream 对象中的值与所提供对象的值进行交换。

运算符

运算符 说明
operator= 将值从对象参数赋给此 basic_istringstream 对象。

要求

标头:<sstream>

命名空间: std

basic_istringstream::allocator_type

该类型是模板参数 Alloc 的同义词。

typedef Alloc allocator_type;

basic_istringstream::basic_istringstream

构造 basic_istringstream 类型的对象。

explicit basic_istringstream(
    ios_base::openmode _Mode = ios_base::in);

explicit basic_istringstream(
    const basic_string<Elem, Tr, Alloc>& str,
    ios_base::openmode _Mode = ios_base::in);

basic_istringstream(
    basic_istringstream&& right);

参数

_Mode
ios_base::openmode 中的枚举之一。

str
一个 basic_string 类型的对象。

right
basic_istringstream 对象的右值引用。

备注

第一个构造函数通过调用 basic_istream]( sb ) 初始化基类,其中 sbbasic_stringbuf< Elem, Tr, Alloc> 类的存储对象。 它还可以通过调用 basic_stringbuf< Elem, Tr, Alloc >( _Mode | ios_base::in ) 来初始化 sb。 有关详细信息,请参阅 basic_istreambasic_stringbuf

第二个构造函数通过调用 basic_istream( sb ) 初始化基类。 它还可以通过调用 basic_stringbuf< Elem, Tr, Alloc >( str, _Mode | ios_base::in ) 来初始化 sb

第三个构造函数初始化具有 right 的内容的对象,将其视为 rvalue 引用。

basic_istringstream::operator=

将值从对象参数赋给此 basic_istringstream 对象。

basic_istringstream& operator=(basic_istringstream&& right);

参数

right
basic_istringstream 对象的右值引用。

备注

成员运算符将对象的内容替换为 right 的内容,被视为 rvalue 引用移动赋值。

basic_istringstream::rdbuf

basic_stringbuf<Elem, Tr, Alloc> 返回 pointer 类型的已存储流缓冲区的地址。

basic_stringbuf<Elem, Tr, Alloc> *rdbuf() const;

返回值

向 basic_stringbuf<Elem, Tr, Alloc> 返回 pointer 类型的已存储流缓冲区的地址。

示例

有关如何使用 rdbuf 的示例,请参阅 basic_filebuf::close

basic_istringstream::str

设置或获取字符串缓冲区中的文本,而无需更改写入位置。

basic_string<Elem, Tr, Alloc> str() const;

void str(
    const basic_string<Elem, Tr, Alloc>& _Newstr);

参数

_Newstr
新字符串。

返回值

返回 basic_string<Elem, Tr, Alloc> 类的对象,它的受控序列是 *this 控制的序列副本。

备注

第一个成员函数返回 rdbuf ->str。 第二个成员函数调用 rdbuf ->str( _Newstr)。

示例

请参阅 basic_stringbuf::str,了解使用 str 的示例。

basic_istringstream::swap

交换两个 basic_istringstream 对象的值。

void swap(basic_istringstream& right);

参数

right
basic_istringstream 对象的左值引用。

备注

成员函数将交换此对象的值和 right 的值。

另请参阅

C++ 标准库中的线程安全
iostream 编程
iostreams 约定