C++ 值传递指针传递引用传递详解

Posted 9reyson

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ 值传递指针传递引用传递详解相关的知识,希望对你有一定的参考价值。

具体内容源自:
http://www.cnblogs.com/yanlingyin/archive/2011/12/07/2278961.html

以下是简介:

值传递:

形参是实参的拷贝,改变形参的值并不会影响外部实参的值。从被调用函数的角度来说,值传递是单向的(实参->形参),参数的值只能传入,
不能传出。当函数内部需要修改参数,并且不希望这个改变影响调用者时,采用值传递。

指针传递:

形参为指向实参地址的指针,当对形参的指向操作时,就相当于对实参本身进行的操作

引用传递:

形参相当于是实参的“别名”,对形参的操作其实就是对实参的操作,在引用传递过程中,被调函数的形式参数虽然也作为局部变量在栈
中开辟了内存空间,但是这时存放的是由主调函数放进来的实参变量的地址。被调函数对形参的任何操作都被处理成间接寻址,即通过
栈中存放的地址访问主调函数中的实参变量。正因为如此,被调函数对形参做的任何操作都影响了主调函数中的实参变量。

以上是关于C++ 值传递指针传递引用传递详解的主要内容,如果未能解决你的问题,请参考以下文章

值传递,指针传递;引用传递(c++独有)本质

C++中值传递指针传递引用传递的总结

C++中函数参数的传递方式有哪几种

传指针和传指针引用的区别/指针和引用的区别(本质)

c/c++值传递和引用传递

是否传递指针参数,在 C++ 中按值传递?