标准库头文件 <iostream>
来自 cppreference.com
此头文件是 输入/输出 库的一部分。
包含 <iostream>
的行为如同定义了一个类型为 std::ios_base::Init 的静态存储持续时间对象,其构造函数在它是第一个被构造的 std::ios_base::Init
对象时初始化标准流对象,并且其析构函数在它是最后一个被销毁的 std::ios_base::Init
对象时刷新这些对象(除了 cin
和 wcin
)。
包含 | ||
(C++11) |
std::ios_base 类,std::basic_ios 类模板和类型定义 | |
(C++11) |
std::basic_streambuf 类模板 | |
(C++11) |
std::basic_istream 类模板和类型定义 | |
(C++11) |
std::basic_ostream,std::basic_iostream 类模板和类型定义 | |
对象 | ||
从标准 C 输入流 stdin 读取 (全局对象) | ||
写入标准 C 输出流 stdout (全局对象) | ||
写入标准 C 错误流 stderr,无缓冲 (全局对象) | ||
写入标准 C 错误流 stderr (全局对象) |
[编辑] 概要
#include <ios> #include <streambuf> #include <istream> #include <ostream> namespace std { extern istream cin; extern ostream cout; extern ostream cerr; extern ostream clog; extern wistream wcin; extern wostream wcout; extern wostream wcerr; extern wostream wclog; }
[编辑] 缺陷报告
以下行为变更缺陷报告被追溯应用于先前发布的 C++ 标准。
DR | 应用于 | 发布的行为 | 正确行为 |
---|---|---|---|
LWG 155 | C++98 | 静态对象的类型为 std::basic_ios::Init (不完全错误,但措辞具有误导性) |
更正为 std::ios_base::Init |
LWG 1123 | C++98 | 包含 <iostream> 不保证构建 std::ios_base::Init 对象 |
保证 |