大家好,欢迎来到IT知识分享网。
1.按值传递
形参和实参各占一个独立的储存空间,形参的储存空间是函数被调用才分配的,调用时,系统为形参开辟一个临时的存储区然后将各实参传递给形参,这时形参就得到了各实参的值。
2.地址传递
形参得到实参的储存地址,使得形参指针和实参指针指向同一块地址,因此函数中对形参的造成的任何变化都能影响到实参。
3.引用传递
以引用为参数,对形参的任何操作都会对实参进行相应改变。
猜测:(不一定对,突然想起来就写了写自己的想法,要是有大佬指正就太感谢了,继续忙该死的二叉树去了,他妈的真累啊)
比如有一个class C{};
C* c;//这是声名c是一个C类的一个对象,但是此时c没有得到初始化。
c = new c();//这是c得到初始化(暂时不执行此句)
现在有三个函数,一个是
void max(C *c){/*…*/};//打咩,因为传参时需要c的堆内存地址。
一个是
void min(C c){/*…*/};打咩,因为传参时需要接受c的数值。
最后一个是
void middle(C &c){/*…*/};呦西,因为传参传的是c的引用,不需要c的地址或是开辟空间接收c的值。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/30295.html