> On 9 May 2018, at 08:18, Akim Demaille <[email protected]> wrote: > >> Le 8 mai 2018 à 18:03, Hans Åberg <[email protected]> a écrit : >> >> >>> On 8 May 2018, at 17:02, Akim Demaille <[email protected]> wrote: >>> >>> Don't use std::endl, it flushes uselessly, and is considered bad >>> style. >> >> Flushing is good with debugging and error reporting, though. > > I agree, but in that case an explicit `flush()` is better. > And in the case of Bison, I don’t think we need any. > > Besides, stdout is typically line buffered when connected to a terminal, > and stderr is typically unbuffered.
I can see this difference when throwing an uncaught exception: std::cerr is output before the exception reporting, whereas std::cout after, when the buffers are flushed in connection with program termination.
