以下c ++输入法有区别吗?

时间:2013-09-17 00:10:09

标签: c++ input char

在c ++中,有几种获取输入的方法。以下两种情况有什么区别?

char x;
x=cin.get();
/* The above code can be a one-liner */

VS

char x;
cin.get(x);

2 个答案:

答案 0 :(得分:1)

在这种情况下,它们是相同的(就get的行为和从流中提取的字符而言)。来自documentation

的std :: istream的::获得

int get();
istream& get (char& c);

“从流中提取单个字符。 该字符要么返回(第一个签名),要么设置为其参数的值(第二个签名)。“

答案 1 :(得分:1)

这两种情况基本没有区别

cin.get(void)从输入流

返回一个char

cin.get(char& c)返回void但将传递的变量设置为从输入流中读取的char

如果你对内存非常挑剔,cin.get(char& c)可能会为一个char作为返回类型保存1个分配,但是我更喜欢使用one-liner char x = cin.get( );