Я добавлю к другим действительным ответам, которые очень часто не имеют смысла для либо std::flush
, ни std::endl
.
В основном, std::endl
= начать новую строку + очистить поток.Однако многие люди заканчивают свои строки std::endl
, потому что это «звучит правильно» - заканчивайте строку.Но на самом деле нам редко нужно очищать поток вывода.Иногда мы это делаем (например, когда ожидаем ответа пользователя на строку или важно отслеживать наш вывод с минимальной задержкой) - но это исключение, а не правило.
Итак, это может занятьнемного привыкнуть, но мы должны по умолчанию просто:
std::cout << bunch_of_stuff << '\n';
и все!