是通过引用或默认值传递的对象

时间:2019-02-24 19:04:17

标签: c++

在将对象传递给方法或函数时,如果对象不是由new关键字发起的,则对象是通过引用还是通过值传递的?

My_object a;

my_function(a);

然后将对象作为引用或值传递给函数吗?

void my_function(My_object a){

}

还是我需要添加&吗?

void my_function(My_object &a){

}

1 个答案:

答案 0 :(得分:2)

对象的传递方式取决于函数的参数,而不取决于对象的创建方式。

My_object a表示它已按值传递。

要通过引用传递,您需要使用My_object& a。如果您不打算更改对象,则可以选择const My_object& a。这样可以避免意外覆盖。