在c ++中,有几种获取输入的方法。以下两种情况有什么区别?
char x;
x=cin.get();
/* The above code can be a one-liner */
VS
char x;
cin.get(x);
答案 0 :(得分:1)
在这种情况下,它们是相同的(就get
的行为和从流中提取的字符而言)。来自documentation:
int get();
istream& get (char& c);
“从流中提取单个字符。 该字符要么返回(第一个签名),要么设置为其参数的值(第二个签名)。“
答案 1 :(得分:1)
这两种情况基本没有区别
cin.get(void)从输入流
返回一个charcin.get(char& c)返回void但将传递的变量设置为从输入流中读取的char
如果你对内存非常挑剔,cin.get(char& c)可能会为一个char作为返回类型保存1个分配,但是我更喜欢使用one-liner char x = cin.get( );