C++引用作为函数参数的简单使用

使用引用传参可以实现指针类似的效果, 引用传参是指针传参的简化

#include<iostream>

using namespace std;

/**
 * 通过值传参实现两个整型变量值的交换(不能达到效果)
 * swap v.交换; n.交换(之物)
 * @param a 第一个整型变量的值
 * @param b 第二个整型变量的值
 */
void swap2IntegersByTransferValue(int a, int b) {
    int temp;
    temp = a;
    a = b;
    b = temp;
}

/**
 * 通过指针传参实现两个整型变量值的交换
 * @param a 第一个整型变量的指针
 * @param b 第二个整型变量的指针
 */
void swap2IntegersByTransferAddress(int *a, int *b){
    int temp;
    temp = *a;
    *a = *b;
    *b = temp;
}

/**
 * 通过引用传参实现两个整型变量值的交换
 * 此时函数的两个形参别名分别为实参变量的别名, 因此改变形参变量的值可以相应的修改实参变量的值
 * 引用作为函数参数的函数的定义方式
 * returnType functionName(type1 &alias1, ..., typen &aliasn){
 *  functionBody;
 * }
 * @param a 第一个整型变量的引用(别名)
 * @param b 第二个整型变量的引用(别名)
 */
void swap2IntegersByTransferReference(int &a, int &b){
    int temp = a;
    a = b;
    b = temp;
}

/**
 * 测试使用不同的方式实现交换两个整数的值
 */
int main() {

    int a = 10;
    int b = 20;
    cout << "Before call the swap function, a = " << a << ", b = " << b << endl;
    /*swap2IntegersByTransferValue(a, b);*/
    /*swap2IntegersByTransferAddress(&a, &b);*/
    swap2IntegersByTransferReference(a, b);
    cout << "After call the swap function, a = " << a << ", b = " << b << endl;
    system("pause");

    return 0;
}

 

posted @ 2020-08-08 10:35  DNoSay  阅读(728)  评论(0编辑  收藏  举报