Они называют потока ввода оператора (<<
) и потока оператор экстракции (>>
).
Это те же операторы, что и операторы сдвига влево и вправо (хотя у них разные имена). Операторы сдвига битов перегружены, поэтому, когда левая сторона является потоком, они считывают или записывают в этот поток.
Они так же, как любой вызов функции - она работает как:
leftShift(leftShift(leftShift(leftShift(cout, "You are "), age), " years old!"), endl);
за исключением того, что функция называется operator<<
вместо leftShift
.
Строго говоря, нет никакой причины, что функция под названием leftShift
должна выполнять левую смену, а также нет причины, чтобы функция, называемая operator<<
, должна была сдвигать влево.
Прочтите любую книгу на C++. Это объяснит вам все в первой главе или двух. –
[Большой список книг на C++] (http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list). –
Не полезно говорить кому-то «просто читать книгу», когда у них есть конкретный вопрос только по одному аспекту языка. OP явно знает, по крайней мере, _some_ C++. Вы не можете искать в Google или индекс книги для чего-то, когда не знаете, что он назвал (перегрузка оператора в этом случае). –