That is not true: std::endl also flushes the output stream whereas printing a newline character does not necessarily do so.