首页 > 解决方案 > 默认情况下是通过引用或值传递的对象

问题描述

new当将对象传递给方法或函数时,当对象不是由关键字启动时,对象是通过引用还是值传递?

My_object a;

my_function(a);

然后对象是作为引用还是值传递给函数?

void my_function(My_object a){

}

还是我需要添加&

void my_function(My_object &a){

}

标签: c++

解决方案


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

My_object a表示它是按值传递的。

要通过引用传递,您需要使用My_object& a. 如果您不打算更改对象,您可能更喜欢const My_object& a. 这将避免意外覆盖。


推荐阅读