c++中何时该用“引用传递”,何时该用“值传递”

如题所述

第1个回答  2017-05-10
1.指针传值时实参传于形参系统会另开辟一个存储空间来存放形参的值;而引用传值时系统不会另开辟存储空间,实参与形参可以看成共用一个存储空间。所以用引用传值在时间与空间上都节省不少。
2.用引用传值时如果形参的值改变的话那么实参的值也会跟着改变(共用一个存储空间),指针传值则不会(另开辟一个存储空间)。本回答被网友采纳

按引用传递通常在什么具体情况下用到的?在C++中
1.当需要一个函数计算并返回多个结果时可以使用引用型参数,比如,希望函数max_min_aver求出数组a(具有n个元素)元素的最大值、最小值、和平均值,可以使用引用型参数:max_min_aver(double *a,int n,double& max,double& min,double& aver);2.当要传送的参数是较大的结构体类型的变量、含有较...

数据结构中何时用引用参数,何时用赋值参数
在形参表中以符号“&”开始的参数即为引用参数。如果一个形参是引用参数,调用部位将把实参的地址传递给子程序。子程序可以改变传递给引用参数的任何实参,因为子程序操作的是真正的变量,而不是它的副本。一般情况下,对于任意一个类A,如果程序员不显示的声明和定义上述函数,C++编译器将会自动的为A产...

什么是引用传递?什么是值传递?区别?
呵呵,刚好我上个学期学的c++哦~~书中说:“c++中参数传递方式有三种:传参数的值(称为值传递,简称传值)、传参数的地址(称为地址传递,简称为传址)和引用传递(简称为传引用),相应的函数调用也就称为传值调用、传址调用、传引用调用。函数定义时参数表中的参数称为形式参数,简称形参。函数...

C++中使用指针、引用进行参数传递
1、常规情况 函数参数传递是所谓的“值传递”。啥意思,就是传的只是值,而不是变量自己以身相许。上面的例子来说,main中的ab传递给函数的ab发生了什么呢,是main中的ab把值传递给了函数的ab,这是四个变量!!!main的ab和swap的ab不是一码事!!!当swap通过传值得到a5b10后,在swap中会互换...

C++调用函数时的两种传递方式“传值方式调用”和“引用方式调用”有何...
引用是直接使用.不引用就是 复制一个给定参数的版本,然后用克隆版进行操作.引用与否有以下两个重要区别:1.引用效率比非引用高.考虑关于string类型的某函数some(string &x);这个是引用,函数内部直接使用x本身进行操作,而如果是非引用,函数内部生成一个临时的string,这个临时的string 和x 一样.然后对临时...

值传递和引用传递
值传递和引用传递是两种不同的参数传递方式,C++支持引用传递,而C、Java、Python则主要采用值传递。在C和C++中,当调用函数时,实际上是将实参的值(对于普通变量)或地址(对于指针和数组)复制到函数的参数中。这被称为值传递,意味着函数内部对参数的修改不会影响到原始变量。例如,即使在test函数中...

C++中函数的参数传递,引用传递和指针传递的别。哪种更有效率。_百度知...
一样。其实都是传地址,汇编写出来都是一样的 不过个人感觉哈,引用传递看着更加直白。所以个人习惯引用

值传递和引用传递的区别是什么
编程中,参数传递可以使用两种方式:值传递和引用传递。它们之间的主要区别在于传递的是参数的值还是内存地址。值传递是指将参数的值复制到函数的形参中,这样在函数内部对形参的修改不会影响到原始参数。这意味着,如果在函数内部对形参进行更改,原始参数的值不会受到影响。这是因为函数内部的操作只是对...

C#值传递和引用传递的理解
引用传递:传的是栈中对象的地址。(即函数内参数对象与调用时传递对象完全是同一栈中对象。)现在用例子来说明传值跟传地址的不同:private void button2_Click(object sender, System.EventArgs e){ StringBuilder strb1 = new StringBuilder();StringBuilder strb2 = new StringBuilder();Test1(strb1);...

C++指针、数组、引用、变量作函数参数的问题
1, 变量作为参数,这是单向值传递。即将数据传给被调函数后,与调用函数就不相关了,必须通过函数值返回操作结果。如有函数声明:void swap(int a,int b); \/\/功能是交换a,b值,但事实上对调用函数没有影响,因为swap函数的局部变量a,b在该函数执行完释放掉了,其值也就丢失了。2. 指针、数组...

相似回答