c++ - 关闭cin与C scanf同步的弊端

标签 c++ c synchronization scanf cin

我最近从 this question 学到了一些东西关于 cin在 C++ 中,它的速度与 scanf 的速度进行了比较。在 C. 调用 cin object 比调用 scanf 慢得多功能照常,但当我阅读已接受的答案时,我明白如果我们调用 std::ios::sync_with_stdio(false); , cinscanf 同步已关闭和 cin速度变得如此之快,甚至比 scanf 还要快在这种情况下。
那么,如果我们关闭它,我们会面临一些问题吗?如果是,有什么问题,关掉好不好cinscanf 同步在 C?谢谢你的帮助。

最佳答案

如果您在同一流上使用两组 I/O 函数(头 <cstdio><stdio.h><iostream>)(例如 stdin 流与 scanfcin 相关联),则你最好让它们保持同步。
如果任何一个流只使用一个 I/O 系列,您可以关闭同步(例如,您仍然可以将 fscanf 与特定文件一起使用,cinstdin 一起使用,只要涉及单独的流)。

关于c++ - 关闭cin与C scanf同步的弊端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66069429/

相关文章:

java - 同步方法内的线程中的同步块(synchronized block)会发生什么情况?

android - native 代码对 Android/iPhone 应用程序开发的影响

c++ - 无法编译: error: expected primary-expression before '(' token

c - 初始化并访问指针数组中的指针

c - 如何确保不应再次获取返回到线程池的线程 ID

php - 对多个单独的 PHP 数组进行排序并保持键同步

c++ - 如何在 C++ 的 if 语句中使用字符串?

c++ - 通过引用隐式调用不兼容参数的复制构造函数?

我可以用 gdb 转储标准输入吗?

c++ - 具有两个串联线程的 OpenMP 填充数组