Шаг 467.
Библиотека STL. Ввод-вывод с использованием потоковых классов. Cтандартные операторы << и >>. Оператор ввода >>

    На этом шаге мы рассмотрим особенности использования этого оператора.

    Класс basic_istream (а следовательно, и классы istream и wistream) интерпретирует >> как оператор ввода. По аналогии с basic_ostream он перегружает этот оператор для всех базовых типов, включая char*, void и bool. Потоковые операторы ввода сохраняют прочитанное значение во втором аргументе. Как и в случае с оператором <<, данные пересылаются в направлении "стрелки":

  int i;
  std::cin >> i;  // Читает int из стандартного ввода и сохраняет его в i

  float f;
  std::cin >> f;  // Читает float из стандартного ввода и сохраняет его в f

    Обратите внимание на модификацию второго аргумента. Чтобы это было возможно, второй аргумент передается по неконстантной ссылке.

    Оператор ввода, как и оператор вывода, может перегружаться для произвольных типов данных и может вызываться "по цепочке":

  float f;
  std::complex<double> с;
  std::cin >> f >> c;

    По умолчанию начальные пропуски игнорируются, хотя этот режим можно отключить.

    Со следующего шаге мы начнем рассматривать ввод и вывод специальных типов.




Предыдущий шаг Содержание Следующий шаг