C++ 控制台输入输出编程指南
1. C++ 流的性能优化
C++ 流在性能方面常被诟病,但随着时间推移,这个问题已得到很大缓解。为确保 C++ 流达到最佳性能,可以采取以下优化措施:
- 禁用 std::ios::sync_with_stdio :C++ 流默认会与标准 C 函数(如 printf() )同步。若不使用这些函数,应禁用该同步功能,这能显著提升性能。
- 避免刷新 :尽可能避免刷新 C++ 流,让 libc++ 和操作系统处理刷新。例如,不使用 std::flush ,用 '\n' 代替 std::endl ,因为 std::endl 会在输出换行符后刷新流。避免刷新可将所有输出缓冲,减少对操作系统的调用次数。
- 使用 std::cout 和 std::clog 而非 std::cerr : std::cerr 在析构时会刷新,增加了向操作系统输出的次数。应尽量使用 std::cout ,仅在出现致命错误并伴随控制流改变(如退出、异常、断言和可能的崩溃)时使用 std::cerr 。
虽然无法一概而论地说 printf() 和
超级会员免费看
订阅专栏 解锁全文
2533

被折叠的 条评论
为什么被折叠?



