c\c++中的形参与实参
来源:互联网 发布:中国2015旅游数据分析 编辑:程序博客网 时间:2024/06/11 15:43
1、值传递
实参是变量,表达式等值。
find(int x){}
y= find(z);
上面的例子中,z是实参,x是形参。x变z不变。
在值传递过程中,实参和形参位于内存中两个不同地址中,实参先自己复制一次拷贝,再把拷贝复制给形参。所以,在值传递过程中,形参的变化不会对实参有任何的影响。
2、地址传递(也称引用传递)
实参是指针。
在函数调用的时候,实参传递给你的是指针地址,地址一样也就意味着实参和形参是一样的,当你的形参发生改变时,实参也会发生改变。
find(int &x){}
y= find(z);
上面的例子中,z是实参,x是形参。z随x而改变。
3、const引用传递
find(const int &x){}
y= find(z);
上面的例子中,z是实参,x是形参。z不随x而改变。
有人就会问了,你这样做不是和值传递一样的么?NO!
仔细观察就会发现,在值传递中要进行两次拷贝,浪费内存资源是相当可耻的,const的出现有效避免了这种情况的出现,只需拷贝一次就够了。
0 0
- 形参与实参C
- c\c++中的形参与实参
- C语言----函数的形参与实参
- linux c 一站式学习 形参与实参
- JS中的形参与实参
- C语言入门(8)——形参与实参
- C语言中的形参和实参
- C/C++中的实参和形参
- C/C++中的实参和形参
- 关于C的指针,Java/Python的引用,形参与实参个人理解
- 形参与实参
- 形参与实参
- 形参与实参
- 形参与实参
- 形参与实参
- 形参与实参
- 形参与实参
- c++形参与实参
- @property的默认属性
- uva 11177 不明所以的凸多边形与圆的面积模板——二分
- Java复习笔记(三)——文档注释
- iOS - 功能模块 - 幻灯片切换
- HBase分布式安装指南
- c\c++中的形参与实参
- ubuntu安装不了软件
- NYOJ 636 世界末日
- 数组和表
- finalize方法的使用
- 关于jsp网页弹出窗口[很多种方法......]
- 构造函数和get/set方法的区别与联系
- 面向对象的基本特征及作用
- Java文章推荐