关于函数参数传递

2018-08-07  本文已影响38人  夕阳下的不回头

传递分为单向传递和双向传递

单向传递  修改形参不能触及主函数里的实参

以前C语言里是指的只传值  就是

void fun(int a)

{}

int main()

{

int number;

fun(number);

}

而在C++里 还有另外一种 常引用传递

也是单向传递的功能

但是实际上省内存空间

因为单向传递过去的参数要重新在内存构建一遍  

若参数占用空间特别大  就会浪费资源 

而引用则不用重新构建

传引用时间空间开销比传值小

双向传递   return只能返回一个值给主函数

但是你想多个值给主函数的话 就得给函数传参数  来修改主函数里的参数

这样就需要传指针或者引用  而不是传值

对了 不允许定义指向引用的指针 

但是指针可以有自己的引用 

mmp真绕口

不能写出int& *这种玩意

你的例子里 k是i的alias

所以p指向的还是i

另: int *& 是指针的引用,指针的引用一般在树旋转的时候会用到

emmm用到再说吧

上一篇下一篇

猜你喜欢

热点阅读