J'ai écrit des tonnes de fonctions operator<<(std::ostream &, const T &)
- elles sont incroyablement utiles.Est-ce que quelqu'un utilise réellement des opérateurs d'extraction de flux?
Je n'ai jamais écrit une fonction operator>>(std::istream &, T &)
en code réel ou même utilisé les opérateurs d'extraction pour les types intégrés (OK, peut-être pour std::string
). Sont-ils appropriés uniquement pour de courts exemples de programmes et de manuels? Est-ce que operator>>
est une fonctionnalité échouée de C++?
Des questions ont été posées à propos de safely overloading stream operators. Ce que je me demande, c'est si quelqu'un le fait en pratique.
Même pour quelque chose de simple comme reading input from a file in C++ Je ne peux pas suggérer d'utiliser operator>>
. Il est trop difficile d'écrire du code robuste pour détecter et gérer les erreurs en entrée (ou je ne sais pas comment).
Si vous n'êtes pas d'accord, veuillez montrer un bon exemple d'utilisation de operator>>
- peut-être en répondant à la dernière question à laquelle je me suis connecté.
Wrapup: Merci pour les réponses tout le monde, beaucoup de bonnes opinions. La réponse de Manuel m'a fait reconsidérer ma réticence à utiliser
op>>
alors j'ai accepté celui-là.
Vous devez définir 'op >>' si vous voulez prendre 'lexical_cast'. (http://www.boost.org/doc/libs/1_42_0/libs/conversion/lexical_cast.htm). – kennytm