关于 iostream 关闭同步与 file io
  • 板块学术版
  • 楼主cirnovsky
  • 当前回复9
  • 已保存回复9
  • 发布时间2022/11/21 19:13
  • 上次更新2023/10/27 02:02:54
查看原帖
关于 iostream 关闭同步与 file io
161849
cirnovsky楼主2022/11/21 19:13

  我之前一直认为使用了 std::ios::sync_with_stdio(0)std::cin.tie(0) 以后就不能直接通过 freopen(..., ..., ...) 来进行文件 I/O 了,所以一直使用 ifstreamofstream 进行文件 I/O(这真令人难过).

  而今天我运行以下代码:

signed main() {
    freopen("in.txt", "r", stdin);
    freopen("out.txt", "w", stdout);
    std::ios::sync_with_stdio(0);
    cin.tie(0);
    // MY CODE GOES HERE.
}

  它意外地跑出了正确的结果.这和我两年以来形成的三观不统一,希望有人告诉我:

  1. 这是一个 UB 吗?
  2. 这是一个巧合吗?
  3. 在正式场合这样使用,关闭同步达到的优化效果还有吗?
  4. 这样 I/O 有效吗?

  先行谢过诸位.

2022/11/21 19:13
加载中...