У меня есть код, например:
std::cout << "Beginning computations..."; // output 1
computations();
std::cout << " done!\n"; // output 2
Однако проблема заключается в том, что часто вывод # 1 и выход # 2 появляются (практически) одновременно. То есть, часто вывод # 1 не печатается на экране, пока не вернется computations()
. Поскольку вся цель вывода №1 означает, что что-то происходит в фоновом режиме (и, таким образом, чтобы поощрять терпение от пользователя), эта проблема не является хорошей.
Есть ли способ заставить буфер std::cout
печатать перед вызовом computations()
? В качестве альтернативы, есть ли другой способ (с использованием чего-то другого, кроме std::cout
), для печати на стандартную версию, которая могла бы устранить эту проблему?