Namespaces
Variants

Standard library header <iostream>

From cppreference.net
Standard library headers

このヘッダは Input/output ライブラリの一部です。

<iostream> をインクルードすることは、静的記憶域期間を持つ std::ios_base::Init 型のオブジェクトを定義するかのように振る舞います。そのコンストラクタは、これが構築される最初の std::ios_base::Init オブジェクトである場合に標準ストリームオブジェクトを初期化し、そのデストラクタは、これが破棄される最後の std::ios_base::Init オブジェクトである場合に( cin wcin を除く)それらのオブジェクトをフラッシュします。

目次

インクルード

(C++11)
std::ios_base クラス、 std::basic_ios クラステンプレートとtypedef
std::basic_streambuf クラステンプレート
(C++11)
std::basic_istream クラステンプレートとtypedef
(C++11)
std::basic_ostream std::basic_iostream クラステンプレートとtypedef

オブジェクト

標準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 オブジェクトの構築を保証しなかった
保証する