交换函数的两种不同的实现方式------地址传递和引用参数
2013-11-21 19:04
691 查看
//________________________________
//用地址传递的方式来实现两个数的交换
//________________________________
#include <iostream.h> void swap(int *a, int *b) { int temp; temp = *a; *a = *b; *b = temp; }
void main() { int val1 = 10, val2 = 20; cout << "Before swap, val1 =" << val1 << " " << "val2 =" << val2 << endl;
swap(&val1,&val2); cout << "After swap, val1 =" << val1 << " " << "val2 =" << val2 <<endl;
}
注:指针作为函数参数,提供了一种可以间接修改调用该函数参数值的手段。
//________________________________
//用引用参数的方式来实现两个数的交换
//________________________________
#include <iostream.h> void swap(int &a, int &b) { int temp; temp = a; a = b; b = temp; }
void main() { int val1 = 10, val2 = 20; cout << "Before swap, val1 =" << val1 << " " << "val2 =" << val2 << endl;
swap(val1,val2); cout << "After swap, val1 =" << val1 << " " << "val2 =" << val2 <<endl;
}
注:引用是它所引用的常量或变量的一个别名,它们实际上是同一回事。同样,当函数的形式参数是引用类型时,它实际上是对实在参数所代表的变量或常量的引用,它自己不具有独立的内存空间。
//用地址传递的方式来实现两个数的交换
//________________________________
#include <iostream.h> void swap(int *a, int *b) { int temp; temp = *a; *a = *b; *b = temp; }
void main() { int val1 = 10, val2 = 20; cout << "Before swap, val1 =" << val1 << " " << "val2 =" << val2 << endl;
swap(&val1,&val2); cout << "After swap, val1 =" << val1 << " " << "val2 =" << val2 <<endl;
}
注:指针作为函数参数,提供了一种可以间接修改调用该函数参数值的手段。
//________________________________
//用引用参数的方式来实现两个数的交换
//________________________________
#include <iostream.h> void swap(int &a, int &b) { int temp; temp = a; a = b; b = temp; }
void main() { int val1 = 10, val2 = 20; cout << "Before swap, val1 =" << val1 << " " << "val2 =" << val2 << endl;
swap(val1,val2); cout << "After swap, val1 =" << val1 << " " << "val2 =" << val2 <<endl;
}
注:引用是它所引用的常量或变量的一个别名,它们实际上是同一回事。同样,当函数的形式参数是引用类型时,它实际上是对实在参数所代表的变量或常量的引用,它自己不具有独立的内存空间。
相关文章推荐
- 交换函数的两种不同的实现方式------地址传递和引用参数
- 交换函数的两种不同的实现方式------地址传递和引用参数
- 值传递和引用传递-----函数参数传递的两种方式
- C/C++中参数传递有两种方式,传值或传地址(传引用)
- 函数调用时基本的参数传递方式有传值与传地址两种
- 值传递和引用传递-----函数参数传递的两种方式
- 在函数中申请内存,使用参数传递方式将此内存的首地址传给实参
- 对象作为函数参数时调用拷贝构造函数、引用做函数参数时只是传递地址
- 2017033000C++函数参数和返回值三种传递方式:值传递、指针传递和引用传递(着重理解)
- 函数参数传递方式:传值和传地址的问题
- 函数的传参方式有值传递和地址传递,地址传递又分为指针传递和引用传递。
- c++指针和引用两种方式实现值传递
- 第二周 项目一 C/C++语言中函数参数传递的三种方式(二):地址传递
- 彻底搞定C指针-——第五篇:函数参数的传递(值传递、地址传递、引用传递)
- 不同页面之间实现参数传递的几种方式
- 一道考察函数参数传递、值传递、指针传递(地址传递)、引用传递
- 不使用引用和全局变量实现函数参数传递
- 【笔试题】不同页面之间实现参数传递的几种方式
- 第二周实践项目1-C++语言中函数参数传递的三种方式(传地址)
- 关于不同页面之间实现参数传递的几种方式讨论