Я научился трудному способу использования endl в конце оператора cout для очистки буфера. Что меня смущает, так это то, почему endl нужен только иногда. Обычно я могу просто сделать
cout << "test";
И он покажет тест. Но в середине длинной консольной программы у меня будет похожий оператор cout, и ничего не будет отображаться, и код не будет двигаться дальше. Добавление endl в конец решает проблему путем очистки буфера и отображения текста. Но что вызывает автоматическую очистку буфера в некоторых случаях и ручную очистку в других? Я не могу предоставить пример кода, потому что я не знаю, как воспроизвести проблему, но я предполагаю, что большинство из вас видели это.