Я написал тонны функций operator<<(std::ostream &, const T &)
- они невероятно полезны.
Я никогда не писал функцию operator>>(std::istream &, T &)
в реальном коде или даже использовал операторы извлечения для встроенных типов (ОК, возможно, для std::string
). Являются ли они подходящими только для коротких примеров программ и учебников? Является ли operator>>
неудачной функцией С++?
Были заданы вопросы о безопасном перегрузке операторов потоков. Что мне интересно, если кто-то делает это на практике.
Даже для чего-то простого, такого как чтение ввода из файла в С++, я не могу предложить использовать operator>>
. Слишком сложно написать код, который является надежным при обнаружении и обработке ошибок во вводе (или я не знаю, как это сделать).
Если вы не согласны, пожалуйста, покажите хороший пример использования operator>>
- возможно, отвечая на этот последний вопрос, с которым я связан.
Wrapup: Спасибо за ответы всем, много хороших мнений. Ответ Мануэля заставил меня пересмотреть мое нежелание использовать
op>>
, поэтому я принял это.