大家都知道 C++ 的输入是基于 std::streambuf 的。
std::streambuf
#include <fstream> #include <iostream> using namespace std; signed main() { ifstream in; in.set_rdbuf(cin.rdbuf()); return 0; }
这个 in 就可以在控制台输入了
in
那么,cin 的 streambuf* 是什么时候,被赋值的呢?赋的又是什么值呢?
cin
streambuf*
自己看源代码没看懂