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

std::ios_base::sync_with_stdio(false), advantages, disadvantages?

提问人:digito_evo 提问时间:12/10/2021 更新时间:12/10/2021 访问量:344

问:

Vs 和 有什么不一样
std::ios_base::sync_with_stdio( false );std::cout.sync_with_stdio( false );std::cin.sync_with_stdio( false );

假设我的代码不使用任何 C 流,而只使用 C++ 流,我应该使用哪一个?<cstdio><iostream>

我想知道:

  1. 禁用同步有什么好处?
  2. 如果同步设置为 false,会出什么问题?如果要禁用同步,应考虑哪些事项?
C++ IO IOtStream CSTDIO

评论

0赞 Jarod42 12/10/2021
一个问题一个问题。

答:

0赞 Jarod42 12/10/2021 #1

sync_with_stdio 是一个函数。static

所以

std::cout.sync_with_stdio(false);

事实上

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

评论

0赞 digito_evo 12/10/2021
不过我不明白最后一行。
0赞 Jarod42 12/10/2021
std::cout被评估(并丢弃结果)。它基本上等同于 。std::ios_base::sync_with_stdio(false);
0赞 digito_evo 12/10/2021
所以没有区别吗?我以为只禁用 std::cout 的同步并禁用所有八个 C++ 流对象的同步。这不是真的吗?std::cout.sync_with_stdio(false);std::ios_base::sync_with_stdio(false);
0赞 heap underrun 12/10/2021
@digito_evo 如果您不理解包含逗号的表达式,那么您可能应该阅读C++中的内置逗号运算符
0赞 digito_evo 12/10/2021
@heap不足 谢谢你的链接。现在我明白了。