首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >下面的c++输入方法有区别吗?

下面的c++输入方法有区别吗?
EN

Stack Overflow用户
提问于 2013-09-17 00:10:08
回答 2查看 86关注 0票数 0

在c++中,有几种接收输入的方法。以下两种情况有何不同?

代码语言:javascript
复制
char x;
x=cin.get();
/* The above code can be a one-liner */

vs

代码语言:javascript
复制
char x;
cin.get(x);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-17 00:14:06

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

std::istream::get

代码语言:javascript
复制
int get();
istream& get (char& c);

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

票数 1
EN

Stack Overflow用户

发布于 2013-09-17 00:25:25

这两种情况基本上没有区别。

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

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

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18839349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档