第 050 课
cin.tie(nullptr)
🔵 基础 约 7 分钟
一句话理解
cin.tie(nullptr) 解开 cin 和 cout 的绑定。
为什么要学
默认每次 cin 前都会刷新 cout,安全但慢。
讲解
绑定的目的是:先提示再输入时,提示能立刻出现。竞赛不需要提示,可以解开。
通常和 sync_with_stdio(false) 成对出现。
交互题才需要小心刷新。普通题解开即可。
例子
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin >> n;
cout << n << "\n";
读和写都更快。最后用 \n 换行,一般不必 endl。
常见错误
- 交互题里解开绑定又不用 flush,对方可能收不到你的输出。
- 只 tie 不关同步,提升有限。
练习 做完再看下一课
普通非交互题里,main 开头写 cin.tie(nullptr) 是常见做法。
和关同步一起,构成常用快速 IO。
在线练习 C++ 在浏览器里编译,代码不会上传 已通过
Ctrl / ⌘ + Enter 运行 · Tab 缩进
隐藏测试点只是界面不展示数据。题目 JSON 会下发到浏览器,可在开发者工具里看到,只适合自学,不是正式比赛评测。
进度保存在本机浏览器里。
左右方向键也可翻课