quali hai citato la risposta:
buffer di uscita può essere esplicitamente arrossato per forzare il buffer da scrivere.
Cioè, potrebbe essere necessario "svuotare" l'output per farlo scrivere sul flusso sottostante (che può essere un file, o negli esempi elencati, un terminale).
In genere, stdout/cout è buffer di riga: l'output non viene inviato al sistema operativo finché non si scrive una nuova riga o si svuota esplicitamente il buffer. Il vantaggio è che qualcosa come std::cout << "Mouse moved (" << p.x << ", " << p.y << ")" << endl
causa una sola scrittura sul "file" sottostante invece di sei, che è molto meglio per le prestazioni. Lo svantaggio è che qualcosa di simile
for (int i=0; i<5; i++) {
std::cout << ".";
sleep(1);
}
std::cout << "\n";
uscita volontà "....."
in una sola volta. In questi casi, è necessario un ulteriore << flush
per garantire che l'output venga visualizzato.
lettura cin
vampate cout
in modo da non avete bisogno di un filo esplicito per fare questo:
std::string colour;
std::cout << "Enter your favourite colour: ";
std::cin >> colour;
fonte
2013-02-23 16:50:05
"Emissione". La tua seconda ipotesi è corretta. –