我的问题似乎和这个问题一样,但我没有找到答案,因为最初的问题似乎要求更具体的问题.在C++ 98中,有什么区别
char c;
cin.get(c);
Run Code Online (Sandbox Code Playgroud)
和
char c;
cin >> c;
Run Code Online (Sandbox Code Playgroud)
?
我已经检查了get和operator >>的cplusplus参考,它们看起来和我一样.
我已经尝试了上面的代码,当我输入一个char时,它们的行为似乎相同.
差异取决于流缓冲区何时存在空白字符.
考虑输入'foo'
char c;
cin.get(c);
Run Code Online (Sandbox Code Playgroud)
将存储' '在c
然而
char c;
cin >> c;
Run Code Online (Sandbox Code Playgroud)
将跳过空白并存储'f'在c中