std::endl may cause an unnecessary flushstd::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++ |
| По умолчанию: Off |
Синтаксис командной строки
: STD_ENDL_USE |
| Влияние: Низкое |