【发布时间】:2018-09-08 05:07:50
【问题描述】:
我看到了与此类似的问题,但我想澄清一下...
假设一个基本的 C++ 类:
class MyClass
{
public:
struct SomeData
{
std::wstring name;
std::vector<int> someValues;
};
void DoSomething(const SomeData data);
}
我知道data 将作为const 传递给DoSomething,这没关系,因为该函数不会以任何方式修改data...但我习惯于看到&用const 参数指定,以确保它们通过引用传递,例如
void DoSomething(const SomeData& data);
这对我来说似乎更有效率。如果我们省略&,那么data 不是按值传递给DoSomething 吗?我不确定当您可以通过引用传递并避免发生复制时,为什么最好按值传递 const 参数?
【问题讨论】:
标签: c++ parameters reference constants