zoukankan      html  css  js  c++  java
  • C++ 头文件系列(sstream)

    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的流类

    1. basic_istringstream内部使用basic_stringbuf来存储和控制字符串内容。 它 继承自basic_istream
    2. basic_ostringstream内部使用basic_stringbuf来存储和控制字符串内容。 它继承自basic_ostream
    3. 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;
  • 相关阅读:
    mysql中使用row_number()函数
    Android开发环境的搭建之(二)Android Studio的安装
    Android开发环境的搭建之(一)Java开发环境的安装
    进程与线程
    工作起始之博客搬家
    MapReduce的自制Writable分组输出及组内排序
    map端join和reduce端join的区别
    String.StartsWith 方法
    RPC和心跳机制
    MAPREDUCE中的序列化
  • 原文地址:https://www.cnblogs.com/lgxZJ/p/6422851.html
Copyright © 2011-2022 走看看