您好、欢迎来到现金彩票网!
当前位置:2019欢乐棋牌 > 值传 >

C++中传值调用参数和引用调用参数具体的区别?

发布时间:2019-08-04 02:04 来源:未知 编辑:admin

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部两种参数都允许函数修改实参所对应的对象,两种类型的参数都允许有效得向函数传递大型类对象。

  (1)引用必须被初始化为指向一个对象,一旦初始化了,它就不能在指向其它对象。指针可以指向一系列不同的对象,当然也可以定义为NULL;

  所以在函数中,一个参数可能指向不同的对象的情况,或者这个参数可能不指向任何对象,则必须实用指针参数。

  (2)引用参数的一个重要用法,它允许我们在有效实现重载操作符的还能保证用法的直观性。如下例:

  但是这样做,效率会非常低。因为该实现的实参是按值传递,两个Matrix对象相加的时候,内容被拷贝到operator+()函数的参数区中,因为Matrix对象非常大的时候,分配这样一个对象,并把它拷贝到函数参数区中的时间和空间开销比较高。

  panelwork说的区别是对的,但最后一句话我不赞同,引用传递实际上是经常用的,比如C++里面自己定义类时,拷贝构造函数必然要用引用传递.或者当比较大的类作为函数参数时,一般也用引用传递,但为了防止误操作,可以加const

  展开全部C++传值调用需要创建一个实参副本,所以要重新开辟一块内存,进行赋值拷贝动作。

  引用传参,因为引用是变量的别名,所以不需要进行重新分配内存,重新赋值,可以节约系统资源。

  函数调用入口参数时,一般都会创建副本或者调用类对象的拷贝构造函数,所以操作结束后入参的值没有变化,变化的只是副本

  则是直接操作原来的对象,不会建立副本,对该对象做的操作,会直接影响到原来传入的变量或者对象

  简单的说,传引用的参数,可以改变调用该函数中时传入的变量的值(就像传地址),传值则不可以改变调用时传入的变量的值.

http://abetterapp.com/zhichuan/383.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有