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 )
初始化基类,其中 sb
是 basic_stringbuf< Elem, Tr, Alloc>
类的存储对象。 它还可以通过调用 basic_stringbuf< Elem, Tr, Alloc >( _Mode | ios_base::in )
来初始化 sb
。 有关详细信息,请参阅 basic_istream
和 basic_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 的值。