C++:int& g(int &x) 与int g(int &x) 的区别?

来源:百度知道 编辑:UC知道 时间:2024/05/26 05:39:02
int& g(int &x) {
return x;
}

int g(int &x) {
return x;
}
这两个函数的区别是什么?

两个函数不能同时用 C++不能通过返回值重载 这两个函数的区别是什么?
对于第一个 下面调用
x=9;
g(x)=8; 会将x赋于8
对于第二个
上面调用 编译不过去

这就是区别

返回数据类型不同:
int& g(int &x) 返回的是一个对int型数据的引用
int g(int &x) 则返回的是一个int型数据

&g是返回引用
给你举个例子吧。。。
<<就是一个返回引用的函数,谁调用它就返回谁
所以cout<<a<<b;cout<<a的返回值是cout。。。这样就可以继续cout<<b了。。。

前者:返回的值的内存地址位置
后者:返回的具体的值