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.
对比上面三个示例程序, 你会发现 "引用传递" 的性质象 "指针传递", 而书写方式象 "值传递".
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.
对比上面三个示例程序, 你会发现 "引用传递" 的性质象 "指针传递", 而书写方式象 "值传递".
相关文章推荐
- 第二周 项目一 C/C++语言中函数参数传递的三种方式(三):.引用传递
- 第二周项目一 C/C++语言中函数参数函数传递的三种方式
- 第二周项目1 - C/C++语言中函数参数传递的三种方式
- 第一周项目 — C/C++语言中函数参数传递的三种方式
- C/C++语言中函数参数传递的三种方式
- 第二周项目1——c/c++语言中函数参数传递的三种方式
- 第二周 C/C++语言中函数参数函数传递的三种方式
- 第二周项目 2—C/C++语言中函数参数传递的三种方式
- C/C++ 语言中函数参数传递的三种方式
- 【项目1 - C/C++语言中函数参数传递的三种方式】
- C++函数参数传递三种方式
- 第二周项目1-C/C++语言中函数参数传递的三种方式
- C/C++:函数参数传递方式
- 第二周项目1-c/c++语言中函数参数传递的三种方式
- 第2周项目1 - C/C++语言中函数参数传递的三种方式
- 第2周项目1C/C++语言中函数参数传递的三种方式
- C++中函数调用时的三种参数传递方式
- C++中函数调用时的三种参数传递方式详解
- C++ 给函数传递参数的两种方式
- 第2周项目1-C/C++语言中函数参数传递的三种方式