Операторы ввода/вывода

Automatically generated description.

Почему оператор вывода записывается как “<<”, а не “>>”? Ведь логичным было бы писать знак “>>”: строку “Привет” вывести (>>) на экран?

Дело в том, что в языке C++ не строки имеют средства вывода на экран, а экран умеет &#8220;поглощать&#8221; строки, выводя их на себя.


Если быть строже, то и экрана-то нету. Есть только потоки. И направление потока указывается вполне логично:
stream1 >> stream2
означает &#8220;направить поток 1 в поток 2&#8221;.


Так что если мы хотим направить поток &#8220;Привет&#8221; на экран (или другой поток вывода), мы должны записать
cout << "Привет"
или
"Привет" >> cout
К сожалению, второй вариант недопустим.


Аналогично используется оператор вывода. Команда &#8220;Считать с клавиатуры число&#8221; будет выглядеть следующим образом:
cin >> number
или
number << cin