函數的多種傳參方式與區別

函數的多種傳參方式與區別
1、值傳遞,形參不會修飾實參
2、地址傳遞,形參會修飾實參
3、引用傳遞,形參會修飾實參

#include<iostream>
#include<string>

using namespace std;

//1、引用:給變量起別名
//語法: 數據類型 &別名 = 原名
//引用的注意事項
//1、引用必須要初始化  int &b = a;
//2、引用一旦初始化後,就不可以更改了

void mySwap01(int a, int b)
{
    int temp = a;
    a = b;
    b = temp;
}


void mySwap02(int * a, int * b)  //引用起別名
{
    int temp = *a;
    * a = *b;
    * b = temp;
}


void mySwap03(int &a, int &b)
{
    int temp = a;
    a = b;
    b = temp;
}

int main()
{
    int a = 10;
    //創建引用
    int b = 20;
    mySwap01(a, b);  //值傳遞,形參不會修飾實參

    cout << "a=" << a << ", b:" << b << endl;

    mySwap02(&a, &b);  //地址傳遞,形參會修飾實參

    cout << "a=" << a << ", b:" << b << endl;

    mySwap03(a, b);  //引用傳遞,形參會修飾實參

    cout << "a=" << a << ", b:" << b << endl;

}

//帶局部的都放在棧區

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章