MirandaMeng 2021-02-20 10:20 采纳率: 91.7%
浏览 28
已采纳

C++ 返回引用的问题

#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 ; 
}

这两段代码的运行结果相同 想求问一下他们的运行机制有什么区别呀

  • 写回答

3条回答 默认 最新

  • Huoon 2021-02-21 14:36
    关注

    就像你说的结果一样,运行机制不一样。返回值类型一个是引用,一个是值。返回引用的函数,返回的是a和b中较大的那一个变量本身;返回值的那个函数返回的是a和b中较大的那个变量的一个副本。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?