std:: ios_base
From cppreference.net
|
定义于头文件
<ios>
|
||
|
class
ios_base
;
|
||
类
ios_base
是一个多功能类,作为所有 I/O 流类的基类。它维护多种类型的数据:
1)
状态信息:流状态标志。
2)
控制信息:用于控制输入输出序列格式化方式及所浸染区域设置的标志位。
3)
私有存储:支持
long
和
void
*
类型成员的索引可扩展数据结构,可通过两个可变长度数组、双元素结构体数组或其他容器实现。
典型实现包含与下列所有值对应的成员常量: fmtflags 、 iostate 、 openmode 和 seekdir ,用于维护当前精度、宽度和格式化标志的成员变量,异常掩码,缓冲区错误状态,存储回调的可调整大小容器,当前嵌入的区域设置,私有存储空间,以及用于 xalloc() 的静态整型变量。
目录 |
成员函数
|
构造对象
(受保护成员函数) |
|
|
[virtual]
|
析构对象
(虚公开成员函数) |
|
赋值给流
(公开成员函数) |
|
格式化 |
|
|
管理格式标志
(公开成员函数) |
|
|
设置特定格式标志
(公开成员函数) |
|
|
清除特定格式标志
(公开成员函数) |
|
|
管理浮点运算的十进制精度
(公开成员函数) |
|
|
管理字段宽度
(公开成员函数) |
|
本地化 |
|
|
设置本地化环境
(公开成员函数) |
|
|
返回当前本地化环境
(公开成员函数) |
|
内部可扩展数组 |
|
|
[static]
|
返回一个程序范围内唯一的整数,可安全用作
pword()
和
iword()
的索引
(公开静态成员函数) |
|
必要时调整私有存储大小并访问指定索引处的
long
元素
(公开成员函数) |
|
|
必要时调整私有存储大小并访问指定索引处的
void
*
元素
(公开成员函数) |
|
杂项 |
|
|
注册事件回调函数
(公开成员函数) |
|
|
[static]
|
设置 C++ 与 C I/O 库是否可互操作
(公开静态成员函数) |
成员类 |
|
|
流异常
(公开成员类) |
|
|
初始化标准流对象
(公开成员类) |
|
成员类型与常量 |
|||||||||||||||||||||||||||||||||
| 类型 | 说明 | ||||||||||||||||||||||||||||||||
|
流打开模式类型
同时定义以下常量:
(typedef) |
|||||||||||||||||||||||||||||||||
|
格式化标志类型
同时定义以下常量:
|
|||||||||||||||||||||||||||||||||
|
(直至 C++17) | ||||||||||||||
缺陷报告
下列行为变更缺陷报告被追溯应用于先前发布的C++标准。
| 缺陷报告 | 应用于 | 发布时行为 | 正确行为 |
|---|---|---|---|
|
LWG 1357
( N3110 ) |
C++98 |
std::ios_base
为
openmode
、
fmtflags
和
iostate
类型定义了
operator~
、
operator
&
和 operator | ,违反了 BitmaskType [1] 的要求 |
移除了这些定义 |
- ↑ BitmaskType 需要支持其自身的位运算操作。位运算支持不应由外部提供。
参见
|
管理任意流缓冲区
(类模板) |