Что такое С++ iostream endl fiasco?
Ответ 1
Отмена моего комментария:
(Я предполагаю). Он просто означает, что многие, особенно новые, программисты на С++ используют std::endl
слепо вместо '\n'
для новой строки, часто излишне промывая и потенциально делая работу своей программы ужасной.
I.e., большинство людей учат, что std::endl
является каноническим способом вставки новой строки в поток, хотя это очень редко необходимо или целесообразно очистить.
Это мнение некоторых людей (* cough *), что std::endl
даже не должно быть в стандарте, так как оно редко бывает подходящим и не имеет значительного списания по типу '\n' << std::flush
в любом случае.
TL; DR :
- В конце концов,
std::endl
покупает вам ничего, кроме обычно худшей производительности и обычно более типичного. - Он имеет свои применения, но они значительно реже, чем частота его использования в большинстве больших кодовых баз, поэтому...
- Его полезность очень сомнительна, и ее вездесущность абсурдна - фиаско действительно!