使用C ++中的自定义类型通过const引用传递向量

时间:2017-12-20 14:48:55

标签: c++ pass-by-reference

假设您有自定义类型

class Foo {}

通过const引用将类型为Foo的向量传递给像这样的方法

的正确方法
void f(const std::vector<const Foo&>& bar);

或者我应该这样做,

void f(const std::vector<Foo>& bar);

我更想知道我应该选择哪一个。

1 个答案:

答案 0 :(得分:1)

您应该传递const std::vector<Foo>&作为类型。这可以防止在调用函数时获取向量的值副本。

请注意,当前标准不允许std::vector<Foo&>std::vector不能包含引用类型。