C++ 中的“std::endl”和“\n”有什么区别?
“\n”输出一个换行符(采用合适的平台特定表示形式,因此在 Windows 上将生成一个“\r\n”),但 std::endl 也执行相同操作,还会刷新流。通常情况下,你不需要立即刷新流,这样只会消耗你的性能,因此,在大多数情况下,没有理由使用 std::endl。
当你希望手动刷新流,因为你希望输出能及时(即无延迟)对用户可见时,应当使用 std::endl,而不是向流写入“\n”。
广告
“\n”输出一个换行符(采用合适的平台特定表示形式,因此在 Windows 上将生成一个“\r\n”),但 std::endl 也执行相同操作,还会刷新流。通常情况下,你不需要立即刷新流,这样只会消耗你的性能,因此,在大多数情况下,没有理由使用 std::endl。
当你希望手动刷新流,因为你希望输出能及时(即无延迟)对用户可见时,应当使用 std::endl,而不是向流写入“\n”。