1. 简介
这个头文件主要定义了基于字符串类(string类)的流的4个模版:
- basic_stringbuf
- basic_istringstream
- basic_ostringstream
- basic_stringstream
和8个类型:
- istringstream
- ostringstream
- stringstream
- stringbuf
- wistringstream
- wostringstream
- wstringstream
- wstringbuf
2. basic_stringbuf模版
basic_stringbuf 继承自basic_streambuf
,由于它们的功能非常相似,所以它自身仅定义了少量的几个公有函数和虚函数(虚函数不再赘述,详见此博客virtual函数小节)。
2.1 公有函数
- str : 获取、设置字符串缓冲区的内容。
- operator =(移动语义) : 移动语义的赋值运算符。
- swap : 交换两个对象内容。
2.2 全局模版函数
- swap : 基本上每个标准类都回提供swap的两种形式:成员函数 和 全局模版。
3. 基于basic_stringbuf的流类
- basic_istringstream内部使用basic_stringbuf来存储和控制字符串内容。 它 继承自basic_istream。
- basic_ostringstream内部使用basic_stringbuf来存储和控制字符串内容。 它继承自basic_ostream。
- basic_ostringstream内部也使用basic_stringbuf来存储和控制字符串内容。 它继承自basic_iostream。
因为很多功能都由基类提供了(面向对象的可重用性),这些模版都只定义了几个相同的函数。
3.1 公有函数
- rdbuf : 返回内部的basic_stringbuf对象指针。
- str : 返回、设置字符串内容。
- operator = (移动语义)
- swap
3.2 全局模版函数
- swap
4 typedefs
窄字符版本(char):
typedef basic_istringstream< char > istringstream;
typedef basic_ostringstream< char > ostringstream;
typedef basic_stringstream< char > stringstream;
typedef basic_stringbuf< char > stringbuf;
宽字符版本(wchar_t):
typedef basic_istringstream< wchar_t > wistringstream;
typedef basic_ostringstream< wchar_t > wostringstream;
typedef basic_stringstream< wchar_t > wstringstream;
typedef basic_stringbuf< wchar_t > wstringbuf;
原文链接: https://www.cnblogs.com/lgxZJ/p/6422851.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/249698
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!