0
在C中,当我们想输入一个整数例如,我们可以使用scanf()
。
将我们的输入保存到的变量作为指针传递,这对函数需要此变量的地址是有意义的,否则一旦函数返回,输入值就会丢失。C++ cin >> x如何工作
如何(在C++中)cin>>x
,我明白是cin.operator>>(x)
工作,如果我没有传递给它的地址?
在C中,当我们想输入一个整数例如,我们可以使用scanf()
。
将我们的输入保存到的变量作为指针传递,这对函数需要此变量的地址是有意义的,否则一旦函数返回,输入值就会丢失。C++ cin >> x如何工作
如何(在C++中)cin>>x
,我明白是cin.operator>>(x)
工作,如果我没有传递给它的地址?
“我知道cin.operator >>(x)怎么能工作,如果我不传递一个地址给它?”
这是因为
std::istream& operator>>(std::istream& is, <type>& obj);
//^
函数的签名需要基准参数为obj
。
C++引用以某种方式将传递指针替换为提供的参数,但也需要使用有效地址进行初始化。
这适用于任何基本类型以及标准库的某些复杂类型(例如std::string
)。
C++有引用,它们基本上是指针,但没有'&'语法。 – 2015-02-06 19:26:28
在您最喜欢的C++教科书中阅读*参考*。 'operator >>()'方法通过* reference *接受参数。 – 2015-02-06 19:26:37
我还没有学过参考资料,但现在我明白了,谢谢。 – 2015-02-06 19:28:48