gpt4 book ai didi

c++ - 运算符和返回类型是什么意思?

转载 作者:行者123 更新时间:2023-11-28 01:16:26 25 4
gpt4 key购买 nike

据我所知,

istream& operator >> (istream &in, int &n);

是关于>>如何工作的声明(或以某种方式重载它)

但我对这个“函数”的返回类型“istream&”感到困惑。

如果我做类似 cin >> x;这意味着我要放入对 x 的引用,但我不理解返回类型 istream & 和参数“in”。

这个函数看起来像定义了什么?什么是“在”?它实际上返回了什么?因为 cin >> x 除了接受输入之外确实做任何事情,所以为什么它必须返回任何东西?

谢谢!

最佳答案

operator >> 的标准实现将返回对 istream &in 参数的引用,这意味着它返回完全相同的对象。

这是为了方便起见,因此您可以编写如下代码:cin >> x >> y;

编译器会将运算符左侧 的内容放入第一个 参数,将右侧 放入>第二个。cin >> x >> y 将翻译成 operator>>( (operator>>(cin, x), y );

这将首先将 x 添加到流并使用返回值,即流本身,并将 y 写入其中。

关于c++ - 运算符和返回类型是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58575873/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com