В языке C++ есть функция endl, которая находится в библиотеке std. Ее часто можно увидеть в строках кода вроде
1 |
std::cout << x << std::endl; |
когда выводится на экран текст или значение переменной. Она означает, что текст, который будет выводиться дальше, начнется на следующей строке. Из-за чего часто считается, что endl эквивалентно '\n' в конце текста.
На самом деле это не так. Функция endl не только вставляет символ перехода на новую строку, но еще и очищает буфер. В большинстве простых задач это незаметно, но данный момент может на многое повлиять.
Из-за очистки буфера при каждом применении, функция может, как упростить работу с потоками, так и сделать ее в несколько раз дольше - например, при записи крупного объема данных в файл – программа каждый раз будет останавливаться, и записывать данные на диск.