作为一个有竞争力的程序员,我一直使用ios::sync_with_stdio(0);
来加速cin
和cout
。但我也见过其他人使用cin.sync_with_stdio(0);
或cout.sync_with_stdio(0);
这样的优化。例如,后两者在以下网站中使用:https://usaco.guide/general/fast-io?lang=cpp.
我知道ios::sync_with_stdio(0);
不同步iostream
(cin
和cout
)从stdio
(scanf
和printf
),所以为什么有人在做竞争性编程时只不同步输入cin
或只同步输出cout
(通常有大量的输入和输出)?
sync_with_stdio
是一个静态方法,cin.sync_with_stdio(0)
的与ios::sync_with_stdio(0);
完全相同。
不完全像原来那样使用std::cin
,但它是no-op
设置std::ios::sync_with_stdio(0)告诉c++ I/O流不必为跟上C风格的I/O例程而烦恼。这可以提高你的c++ I/O操作的效率,特别是如果你不需要混合c++流和C风格的函数。