您的位置:首页 > 编程语言 > C语言/C++

C++的函数的参数的传递方式

2010-01-05 17:07 274 查看
c++ 中, 函数的参数的传递方式有三种: 值传递, 指针传递和引用传递.

1. "值传递" 的示例程序.

void fun1(int x){
x = x + 10;
}

执行片断:

int n = 0;
fun1(n);
cout << "n = " << n << endl; //n = 0

总结: 由于 fun1 函数体内的 x 是外部变量 n 的一份拷贝, 改变 x 的值不会影响 n, 所以 n 的值仍然是 0。

2. "指针传递" 的示例程序.

void fun2(int *x){
(*x) = (*x) + 10;
}

执行片段:

int n = 0;
fun2(&n);
cout << "n = " << n << endl; //n =10

总结: 由于fun2 函数体内的 x 是指向外部变量 n 的指针, 改变该指针的内容将导致 n 的值的改变, 所以 n 的值成为 10.

3. "引用传递" 的示例程序.

void fun3(int &x){
x = x + 10;
}

执行片段:

int n = 0;
fun3(n); //
cout << "n = " << n << endl; //n=10

总结: 由于fun3 函数体内的 x 是外部变量 n 的引用, x 和 n 是同一个东西, 改变 x 等于改变 n, 所以 n 的值成为10.

对比上面三个示例程序, 你会发现 "引用传递" 的性质象 "指针传递", 而书写方式象 "值传递".
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: