std::ios_base::sync_with_stdio(false),优点,缺点?

Posted

技术标签:

【中文标题】std::ios_base::sync_with_stdio(false),优点,缺点?【英文标题】:std::ios_base::sync_with_stdio(false), advantages, disadvantages? 【发布时间】:2022-01-15 01:10:19 【问题描述】:

std::ios_base::sync_with_stdio( false );有什么区别 对比std::cout.sync_with_stdio( false );std::cin.sync_with_stdio( false );

如果我的代码不使用来自 <cstdio> 的任何 C 流并且只使用来自 <iostream> 的 C++ 流,我应该使用哪一个?

我想知道:

    禁用同步有什么好处? 如果同步设置为 false,会出现什么问题?如果我想禁用同步,应该考虑哪些事项?

【问题讨论】:

一个问题一个问题。 【参考方案1】:

sync_with_stdio 是一个static 函数。

所以

std::cout.sync_with_stdio(false);

事实上

std::cout, std::ios_base::sync_with_stdio(false);

【讨论】:

我不明白最后一行。 std::cout 被评估(并丢弃结果)。基本相当于std::ios_base::sync_with_stdio(false); 所以没有区别?我认为std::cout.sync_with_stdio(false); 只禁用了 std::cout 的同步,std::ios_base::sync_with_stdio(false); 禁用了所有八个 C++ 流对象的同步。这不是真的吗? @digito_evo 如果您不理解包含逗号的表达式,那么您可能应该阅读 C++ 中的 built-in comma operator。 @heap underrun 感谢您的链接。现在我明白了。

以上是关于std::ios_base::sync_with_stdio(false),优点,缺点?的主要内容,如果未能解决你的问题,请参考以下文章

函数参数

多重背包

合租房合同模板

启动代码分析 02

ACM数论 求幂乘

Windows下虚拟机安装Mac OS X —– VM12安装Mac OS X 10.11