C++旧版课程库
C++第 2 期查看课程总览

061 函数 - 值传递和引用传递

主要内容

1. 值传递


#include < iostream >

int dashima(int a, int b)  // 值传递
{
    return a>b ? a:b;
}
int main()
{
    int a, b;
    cin >> a >> b;
    
    cout << dashima(a,b);  // 调用
}
这是一种常见的函数参数形式。 这样形式的函数传参,有一个问题。那就是: 无法返回超过 1 个参数(因为 return 后面只可以有一个元素)。 这种情况下,我们可以使用“引用传递”

2. 引用传递


#include < iostream >

void dashima(int a, int b, int & result)  // 引用传递。请尝试一下,没有 & 的结果
{
    result = a>b ? a:b;
    cout << "result = " << result << endl;
}
int main()
{
    int a, b, res;
    cin >> a >> b;
    
    cout << dashima(a, b, res);  // 调用
}
值传递 和 引用传递的差别
  • 值传递 - 就像孙悟空的分身
  • 引用传递 - 就像孙悟空本尊
  • 习题

    课后练习