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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM