Страницы

Поиск по вопросам

суббота, 6 октября 2018 г.

Почему оператор << для ostream не перегружен для контейнеров?

Почему оператор << для ostream не перегружен для контейнеров, таких как vector, set, map?
И если есть проблемы с перегрузкой оператора << для ostream, то почему бы не добавить функцию print или print_container, которая бы могла выводить контейнеры.
Спрашиваю больше из-за любопытства и из-за того, что такую мелочь приходится реализовывать самому. Притом, что во многих других языках выводить контейнеры не составляет труда.


Ответ

Скажите, как правильно выводить vector - через запятую? с фиксированной шириной поля? Может, все брать в скобки?
А vector - строки нужно брать в кавычки? или нет?
А list - с какой именно точностью и в каком формате выводить?
Заметим, это вы решаете не для себя, а для всех программистов на C++...
Вы готовы к таким holy wars?
А написать свой вывод - секундное же дело. Ну, в крайнем случае напишите copy(c.begin(),c.end(),ostream_iterator(cout,",")) :-)
"По-моему, так" (с) Пух

Комментариев нет:

Отправить комментарий