码迷,mamicode.com
首页 > 编程语言 > 详细

C++参数传递

时间:2018-02-11 23:37:18      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:独立   引用形参   额外信息   避免   定义   影响   定义函数   形参   引用类型   

一般,参数传递有2种方式,与形参的类型相关,一类是值传递,一类是引用传递,其中,值传递包括一般形参和指针形参。

1、值传递

将实参的值拷贝后赋值给形参,形参与实参是两个独立的对象

1.1、一般值传递

形参是一般类型,对形参的改变不会影响实参。

1.2、指针传递

形参是指针,将实参的指针拷贝赋值给形参,形参和实参是2个独立的指针,但是指向同一个对象。

void fun(int*p){

  *p=0;//改变指针指向对象的值

  p=0;//改变了ip的局部拷贝,实参并未改变

}

int i=1;

fun(&i);//改变i的值,而非地址

2、引用传递

与一般引用一样,引用形参是它对应实参的别名。对形参的改变就是对实参的改变。

  • 使用引用可以避免拷贝

    拷贝大的类型对象或容器对象时比较低效,甚至有的类类型根本不支持拷贝操作,此时,只能通过引用形参访问该类型对象。

  • 使用引用形参返回额外信息

  一个函数只能返回一个值,然而有时候函数需要返回多个值,如何定义函数使得它能返回多个值呢?

  一种情况,定义一个新的数据类型作为返回值,另一种就是给函数传入一个额外的引用实参。

建议使用引用类型的形参代替指针

 

C++参数传递

标签:独立   引用形参   额外信息   避免   定义   影响   定义函数   形参   引用类型   

原文地址:https://www.cnblogs.com/StormWendy/p/8443376.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!