Почему std :: cerr быстрее, чем std :: cout?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Почему std :: cerr быстрее, чем std :: cout?

Сообщение Anonymous »

На веб-сайте www.learncpp.com говорится: «- std :: cerr не разбита, что означает, что все, что вы отправляете ему, немедленно выведет. Это помогает гарантировать, что все результаты отладки появляются как можно скорее (за счет некоторой производительности, о которой мы обычно не заботимся о отладке)». Я проверил это утверждение, найдя среднее значение 5 тестовых прогонов для следующих сценариев, используя этот код: < /p>

Код: Выделить всё

#include 
#include 

int main()
{
for (int i = 0; i  p> p> p>. />   cerr только с использованием одной выходной линии: < /strong>
среднее (1,93, 1,92, 2,13, 1,96, 2,04) = 1,996 < /p>
 cout с использованием трех выходной линии: < /strong>
mean (4,54, 4.68, 4.62, 4.69, 4.62) = 4.63 < /4. />   cerr с использованием трех выходной линии: < /strong>
среднее (4,59, 4,55, 4,45, 4,55, 4,44) = 4,516 < /p>
Как видно, cerr быстрее, чем Cout в обоих сценариях. Это потому, что программа недостаточно сложна, чтобы иметь возможность показать COUT в полном потенциале или является вышеупомянутым утверждением просто ложным?  

Подробнее здесь: [url]https://stackoverflow.com/questions/79763994/why-is-stdcerr-faster-than-stdcout[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»