Namespaces
Variants

Standard library header <iostream>

From cppreference.net
Standard library headers

Этот заголовок является частью библиотеки Ввода/вывода .

Включение <iostream> действует так, как если бы оно определяло статический объект типа std::ios_base::Init , конструктор которого инициализирует стандартные потоковые объекты, если это первый создаваемый объект std::ios_base::Init , и деструктор которого сбрасывает буферы этих объектов (за исключением cin и wcin ), если это последний уничтожаемый объект std::ios_base::Init .

Содержание

Включения

(C++11)
std::ios_base класс, std::basic_ios шаблон класса и определения типов
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 Applied to Behavior as published Correct behavior
LWG 155 C++98 the type of the static object was std::basic_ios::Init
(not strictly wrong, but the wording was misleading)
corrected to std::ios_base::Init
LWG 1123 C++98 including <iostream> did not guarantee the
construction of std::ios_base::Init objects
guarantees