C++ 实参和形参 交换变量值
来源:互联网 发布:哥布林升级数据 编辑:程序博客网 时间:2024/06/03 17:21
1. 传值调用机制 ( call- by-value machanism )
(1). 在形参位置插入的是实参的值。如果实参是变量,则插入的只是变量的值,而非变量本身。
(2). 传值调用形参是局部变量。调用函数时,该函数的形参被初始化为实参的值。
eg:
void swap (int x, int y)
{
int temp;
temp = x;
x = y;
y = temp;
}
main()
{
int a = 1, b = 2;
cout << “a = ” << a << “b= ” << b << “\n”;
swap(a, b);
return 1;
}
运行结果:
a = 1 b = 2
a = 1 b = 2
说明:没有发生值得交换
2. 传引用调用机制
(1). 替换形参的是实参的内存位置。由于程序变量是作为内存位置来实现的,所以这些内存位置就是变量。也就是说在形参位置插入的是变量本身,而不是变量的值。
(2). 传引用调用形参是被实参的内存位置替换,故若函数体内对该内存位置有所修改,该变量也会改变。
eg:
eg:
void swap (int &x, int &y)
{
int temp;
temp = x;
x = y;
y = temp;
}
此时显示的结果:
a = 1 b = 2
a = 2 b = 1
针对以上两个例子详细解释:
在第一个例子中,在调用swap函数时,是将a和b的值传递给了x和y,此时,x、y相对于a、b的副本,副本的改变不会改变变量本身的值。
在第二个例子中,swap函数定义了x、y的引用,main函数调用swap时,x、y分别为a、b的引用,此时,x和a表示同一个变量,y和b表示同一个变量,当x和y发生交换时,即a和b也发生了交换,从而实现了两个变量值得交换。
- C++ 实参和形参 交换变量值
- c语言 两个变量值交换
- 变量值交换
- 70.交换变量值
- 交换两个变量值
- 交换两个变量值
- PHP交换变量值
- 变量值交换
- C语言交换两个变量值不利用额外变量
- c\c++交换两变量值的三种方法
- 从交换两个变量值看c语言学习历程
- C/C++变量值交换的两种方式
- 【C语言】使用指针实现交换变量值
- C或C++语言交换变量值的方式
- 面试之变量值交换
- Java 交换两个变量值
- 交换变量值的方法
- 两个变量值交换java
- Spring-学习笔记(ContextLoaderListener)
- 从尾到到打印链表
- eclipse自动切换到dubug视图,设置eclipse调试自动跳转
- Effective C++ Item05 Note
- 容斥原理学习之路【容斥原理】
- C++ 实参和形参 交换变量值
- tap gesture recognizer关联到一image view笔记********
- 从点滴看管理之电话沟通技巧
- 有奖征文--我亲历的京东发展史
- 给SHBrowseForFolder 添加“新建文件夹”按钮
- Android 记住密码和自动登录界面的实现(SharedPreferences 的用法)
- 段式存储管理
- JS获取当前时间或者把毫秒转换成yyyy-MM-dd的格式
- PHP-Fcgi下PHP的执行时间设置方法