#include<iostream>
using namespace std ;
int & maxRef( int & , int & ) ;
int main()
{ int a, b ;
cout << "Input a, b : " ;
cin >> a >> b ;
cout << maxRef( a, b ) <<endl ;
}
int & maxRef( int & x, int & y )
{ if ( x > y ) return x ;
return y ;
}
#include<iostream>
using namespace std ;
int maxRef( int & , int & ) ;
int main()
{ int a, b ;
cout << "Input a, b : " ;
cin >> a >> b ;
cout << maxRef( a, b ) <<endl ;
}
int maxRef( int & x, int & y )
{ if ( x > y ) return x ;
return y ;
}
这两段代码的运行结果相同 想求问一下他们的运行机制有什么区别呀
就像你说的结果一样,运行机制不一样。返回值类型一个是引用,一个是值。返回引用的函数,返回的是a和b中较大的那一个变量本身;返回值的那个函数返回的是a和b中较大的那个变量的一个副本。
返回引用,内存中不会产生返回值的副本
这两段代码运行结果相同 想求问一下他们的运行机制有什么不一样呀 谢谢大神!