0

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

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

对比

char x;
cin.get(x);
4

2 回答 2

1

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

std::istream::get

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

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

于 2013-09-17T00:14:06.877 回答
1

这两种情况基本没有区别

cin.get(void) 从输入流返回一个字符

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

如果您真的对内存很挑剔,cin.get(char &c) 可能会为您节省 1 个分配,因为 char 作为返回类型,但是我更喜欢使用单行 char x = cin.get();

于 2013-09-17T00:25:25.233 回答