我有一个曾经被称为
的函数void func(const A& v0, const A& v1, const A& v2);
为清楚起见,我想把这些论点作为一个三元组来传递。如果要避免任何额外的开销,那么正确的方法是什么?以下是最有效的吗?:
void func(std::tuple<const A&> v);
答案 0 :(得分:0)
如果它们不是多态的并且经常一起使用(并且,我假设,创建),那么为什么不将它们打包成值元组,std::tuple<A, A, A>
或命名结构。你可以通过const引用传递它。此解决方案没有性能开销,实际上可能更快。
实际上,由于所有三个元素属于同一类型,为什么不使用三个元素的数组A[3]
?元组最适合异类型。