55、值传递、指针传递、引用传递的区别和效率

1) 值传递:有一个形参向函数所属的栈拷贝数据的过程,如果值传递的对象是类对象 或是大的结构 体对象,将耗费一定的时间和空间。(传值)

2) 指针传递:同样有一个形参向函数所属的栈拷贝数据的过程,但拷贝的数据是一个固定为4字节的地 址。(传值,传递的是地址值)

3) 引用传递:同样有上述的数据拷贝过程,但其是针对地址的,相当于为该数据所在的地址起了一个 别名。(传地址)

4) 效率上讲,指针传递和引用传递比值传递效率高。一般主张使用引用传递,代码逻辑上更加紧凑、 清晰。

原文地址:https://www.cnblogs.com/crbhf/p/14967959.html