2012-07-03 3 views
0

Можно создать дубликат:
Why are bitwise shifts (<<and>>) used for cout and cin?Почему CIN и COUT использовать << and >>

Я понимаю, что COUT и CIN перегружать битовые операторы < < и >>. Однако в большинстве случаев функции и инструменты используют аргументы или параметры для передачи информации.

Есть ли причина в великой истории C++, которая привела к тому, что это так?

Я знаю, что это рудиментарная вещь, но я довольно новичок в C++, и поиск SO и Google, а также задание нескольких людей, не получило хорошего ответа.

+0

Эти операторы имеют вид эволюционировал, чтобы быть использованы для потоков, из которых вход и выход двух типов. – chris

+2

Этот вопрос должен быть задан Бьярне Страуструпу. Кроме того, http://www2.research.att.com/~bs/dne.html – Griwes

+1

Я не знаю историю, но я рад, что она работает именно так. 'cout.print (« Hello »). print (variable) .print (« Да »)' намного уродливее, чем '' 'operator method' cout << "Hello" << variable << "Yes" – TheZ

ответ

1

(а) Оператор старшинство

и

(б) Он выглядит хорошо - форма операторов предлагает свои функции

+0

Не говоря уже о цепных звонках ... –

Смежные вопросы