std::endl может вызвать ненужный смывstd::endl используется вместо более эффективного \n
Этот дефект флагов использует std::endl в операциях ввода-вывода и позволяет использовать более эффективную альтернативу, \n.
std::endl вставляет новую строку (\n) с последующей операцией промывки. Например:
std::cout << "Some content" << std::endl;
std::cout << "Some content" << '\n' << std::flush;
std::endl, неявная операция очистки может значительно снизить производительность программы. Поскольку операция очистки является неявной, в случае проблемы с производительностью будет трудно отследить основную причину проблемы.Использовать \n для ввода новой строки, где это возможно.
Если требуется операция промывки, вместо std::endl, использовать \n после чего следует явная операция очистки, например:
std::cout << "Some content" << '\n' << std::flush;
Повышение производительности может зависеть от используемого компилятора, реализации библиотеки и среды.
| Группа: Производительность |
| Язык: C++ |
| По умолчанию: Откл. |
Синтаксис командной строки:
STD_ENDL_USE |
| Воздействие: Низкий |