C++参数传递的三种方式
来源:互联网 发布:ps软件源码下载 编辑:程序博客网 时间:2024/05/18 00:21
一般来说C++中参数传递有三种方式:值传递、指针传递、引用传递
1.值传递——传值
值传递是最常见的一种参数传递的方式,但是对初学者来说也最容易出错。如下例:
#include<iostream.h>void fun(int a,int b){int temp;temp=a;a=b;b=temp;}void main(){int m,n;m=1;n=2;fun(m,n);cout<<m<<""<<n<<endl;//输出结果为 12}
例子中fun()函数采用值传递的方式,传入的实参实际上是m、n的副本而非其本身,所以对副本的改变并不会反映到m、n本身上。
2.指针传递——传指针
使用指针传递需要先了解一下指针的有关概念,因为这里主要介绍关于参数的部分,所以废话不多说了,直接看例子:
#include<iostream.h>void fun(int * x){*x+=10;}void main(){int n=0;fun(&n);cout<<n<<endl;//输出结果为 10}
fun()函数体内的x是指向外部变量n的指针,改变指针的内容将导致n的值得改变,所以n的值成为了10。
3.引用传递——传引用
引用相当于别名(绰号),比方说有人的名字是王小丽,她的绰号是“小小”。如果有人说“小小”几岁,实际上就是指王小丽几岁。
#include <iostream.h>void main(){int x;int &y=x;//变量引用y=99;cout<<"x="<<x<<endl;//输出结果为 x=99}
程序中&y=x应当理解为y具有x的地址,即x与y具有相同的地址,地址相同了当然内容也相同了,所以y的值是99。
比较:
对比参数的三种传递方式,可以发现“引用传递”和“指针传递”的性质一样,而书写方式像“值传递”。引用传递可以做的任何事指针也能够做到,因为指针能够毫无约束地操作内存中的东西,这种强大的功能背后也必将隐藏着巨大的危险,所以慎用指针。
0 0
- C语言中函数参数传递的三种方式
- C语言中函数参数传递的三种方式
- C语言:函数参数传递的三种方式
- C/C++ 函数参数的三种传递方式
- C语言中函数参数传递的三种方式
- C语言三种参数传递方式
- struts2传递参数的三种方式
- 参数传递的三种方式
- Action 参数传递的三种方式
- 参数传递的三种方式
- c++参数传递的三种方式
- 函数的三种参数传递方式
- C++参数传递的三种方式
- Struts2传递参数的三种方式
- Struts2的三种参数传递方式
- C++参数传递的三种方式
- 函数参数传递的三种方式
- Struts2--传递参数的三种方式
- PC110304/UVA850
- 颜色迁移之三——Welsh经典算法
- SPOJ 962 网络流
- 一个页面多个倒计时 js
- 一步一步学习openfire+spark(2)——介绍几个概念
- C++参数传递的三种方式
- 给大家下载csdn资料
- GitHub使用教程
- 一个http请求的详细过程
- 2014-03-30工作日志:我的编程风格
- 在Ubuntu上安装JDK6
- js获取至今天一个月的时间
- Linux系统编程---线程概念
- 一个简单的序列化实现