JiaHeng-DLUT
8/5/2019 - 3:10 PM

C++ 函数参数

C++ 函数参数

值参数

把参数的实际值复制给函数的形式参数,修改函数内的形式参数对实际参数没有影响。

#include <iostream>
using namespace std;

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

int main() {
    int a = 10, b = 20;
    cout << a << "  " << b << endl; // 10  20
    swap1(a, b);
    cout << a << "  " << b << endl; // 10  20
    return 0;
}

指针参数

把参数的地址复制给形式参数,修改形式参数会影响实际参数。

#include <iostream>
using namespace std;

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

int main() {
    int a = 10, b = 20;
    cout << a << "  " << b << endl; // 10  20
    swap1(&a, &b);
    cout << a << "  " << b << endl; // 20  10
    return 0;
}

引用参数

把参数的引用复制给形式参数,修改形式参数会影响实际参数。

#include <iostream>
using namespace std;

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

int main() {
    int a = 10, b = 20;
    cout << a << "  " << b << endl; // 10  20
    swap1(a, b);
    cout << a << "  " << b << endl; // 20  10
    return 0;
}

References