将Constant Class作为函数中的参数传递

时间:2017-03-22 15:34:00

标签: c++

之间有什么区别
void A(const class1 a);

void A(const class1 &a);

在C ++中。

我无法区分这两者。

1 个答案:

答案 0 :(得分:3)

主要区别在于

A(const class1 a);

将在a内创建A的本地副本,这可能很昂贵(从内存和计算的角度来看),而

A(const class1 &a);

不会创建副本。

因此,传递参考(第2版)通常是首选方式。