关于函数参数传递
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用到再说吧