Наверняка в простых примерах на С++ вы часто замечали слово endl в конце вывода с помощью cout. Эта штука выполняет перевод строки. Но не только. Перевод строки можно выполнить с помощью управляющего символа \n. Но почему-то часто используют именно endl. Символ \n - это просто символ новой строки. Никаких других действий, кроме перевода строки он не выполняет. В отличие от него, манипулятор endl кроме перевода строки ещё и сбрасывает (очищает) буфер вывода. Дело в том, что выводимые данные накапливаются в буфере и не записываются на диск, чтобы ускорить работу программы. Но в некоторых случаях желательно очищать буфер перед следующим выводом. Тогда лучше использовать endl вместо \n. В большинстве случаев разницы в скорости вы не заметите. Но если это применяется, например, при выводе больших файлов, то замедление может оказаться заметным. Ну и также не забывайте, что входной и выходной буфер - это разные буферы. На входной буфер endl не влияет. Например, вот такой код: char str[10]; ci