stream类型
stream有如下几种类型
- 标准输入输出流
- string流
- file流
stream类继承体系
ios
classDiagram
ios_base <|-- basic_ios
basic_ios <|-- ios : char模板类
basic_ios <|-- wios : wchar模板类
fpos <|-- streampos: char模板类
fpos <|-- wstreampos: wchar模板类
%% 定义如下
class basic_ios {
<<类的模板>>
}
class fpos {
<<类模板>>
}
- ios_base 和 basic_ios 定义了不区分是输入流还是输出流的基本功能
- ios_base 独立于模板参数(不是模板类),描述了所有类型的stream的最基本部分,独立于stream的具体数据类型
- basic_ios 依赖于模板参数,是一个类模板,通过传入不同的模板参数创建不同模板类
- fpos 代表在stream中的位置
istream-ostream
classDiagram
basic_istream <|-- istream : char模板类
basic_istream <|-- wistream: wchar模板类
basic_ostream <|-- ostream: char模板类
basic_ostream <|-- wostream: wchar模板类
basic_iostream <|-- iostream: char模板类
basic_iostream <|-- wiostream: wchar模板类
class basic_istream {
<<类模板>>
}
class basic_ostream {
<<类模板>>
}
class basic_iostream {
<<类模板>>
}
- basic_istream继承自basic_ios。因此具有basic_ios的功能