std::常量引用的元组

std::tuple of const references?

本文关键字:元组 常量 std 引用      更新时间:2023-10-16

我有一个函数,过去被称为

void func(const A& v0, const A& v1, const A& v2);

为了清楚起见,我想将参数作为3元组传递。如果要避免任何额外的开销,正确的方法是什么?以下会是最有效的吗?:

void func(std::tuple<const A&> v);

如果它们不是多态的,并且经常一起使用(我认为是创建的),那么为什么不将它们打包到值元组std::tuple<A, A, A>或命名结构中呢。您可以通过const引用来传递它。此解决方案没有性能开销,而且实际上可能更快。

实际上,既然这三个元素都是同一类型的,为什么不使用三个元素的数组A[3]呢?元组最适合异构类型。