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

问题描述 投票:-2回答:1

假设你有自定义类型,

class Foo {}

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

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

或者我应该这样做,

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

我更喜欢我应该使用哪一个。

c++ pass-by-reference
1个回答
1
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.