Question

J'écoutais un Google Talk par Andrei AlexandreScu sur la programmation D Langue quand il a jeté une doublure sur le fiasco "endl". Je pensais que Endl était le moyen préféré de signifier la fin d'une ligne et de rincer le tampon pour un flux. Pourquoi est-il considéré comme un fiasco? Dois-je ne pas l'utiliser dans mon code?

Était-ce utile?

La solution

Republier de mon commentaire:

(Je suppose) il signifie simplement que beaucoup, en particulier les nouveaux programmeurs C ++, utilisent std::endl aveuglément au lieu de '\n' Pour Newline, rincer inutilement fréquemment et potentiellement faire la performance de leur programme abyssal.

C'est-à-dire que la plupart des gens apprennent que std::endl est la moyen canonique d'insérer une nouvelle ligne dans un flux même s'il est très rarement nécessaire ou approprié pour le rincer.

C'est l'opinion de certaines personnes (* toux *) que std::endl ne devrait même pas être dans la norme, car il est si rarement approprié et non un important taper des économies sur '\n' << std::flush De toute façon.


Tl; dr(S):

  • À la fin, std::endl ne vous achète rien sauf généralement pire performance et généralement plus dactylographie.
  • Il a ses utilisations, mais ils sont considérablement plus rares que sa fréquence d'utilisation dans la plupart des grandes bases de code, donc ...
  • Son utilité est très discutable et son ubiquité est absurde - un fiasco en effet!
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top