值传递和引用传递以及指针传递

值传递:

形参是实参的拷贝,改变形参的值并不会影响外部实参的值。从被调用函数的角度来说,值传递是单向的(实参->形参),参数的值只能传入,

不能传出。当函数内部需要修改参数,并且不希望这个改变影响调用者时,采用值传递。简言之,函数内部的对参数的修改不能导致函数外部该参数的变化。

 

指针传递:

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

 

 

引用传递:

 

只有C++有该部分内容。实际项目中,引用最大的作用是作为函数的(不可能为null的)const参数传入。

 

区别:

无论你传值还是传指针,函数都会生成一个临时变量, 但传引用时,不会生成临时变量,

可以把引用当做语法糖,但传引用主要是它不生成临时变量,不进行返回值copy等,速度快。这是引用传递和指针传递的主要区别。

 

posted @ 2020-11-23 09:32  楚天耀景  阅读(121)  评论(0)    收藏  举报