c ++ cin>> x如何工作

时间:2015-02-06 19:24:13

标签: c++

在C中,当我们想要输入一个整数时,我们可以使用scanf() 保存输入的变量作为指针传递,这对于函数需要该变量的地址是有意义的,否则一旦函数返回,输入的值就会丢失。

如果我没有传递地址,我在cin>>x处理{(1 +)cin.operator>>(x)怎么办?

1 个答案:

答案 0 :(得分:2)

  

&#34; C ++ cin&gt;&gt; x,我理解为cin.operator&gt;&gt;(x),如果我没有传递地址就可以工作吗?&#34; < / em>的

这是因为

的签名
std::istream& operator>>(std::istream& is, <type>& obj);
                                              // ^

函数为obj采用引用参数

C ++引用以某种方式将传递指针替换为提供的参数,但也需要使用有效地址进行初始化。

为任何原始类型以及标准库的一些复杂类型(例如std::string)实现了这一点。