正确使用std::tuple

Using std::tuple correctly?

本文关键字:tuple std      更新时间:2023-10-16

我最近学习了如何使用std::tuple(在此之前我从未使用过它),并且很好奇什么时候在容器上使用它是合适的?我之所以问这个问题,是因为std::tuple感觉不像一个容器,因为它需要std::get和std::make_tuple之类的东西。

std::tuple包含固定数量的不同类型的元素。当您想要将几个不同类型的对象组合在一起时,可以使用它。当分组没有任何特别有用的语义时,我会在struct上使用它。例如,当一个函数需要返回多个对象时,std::tuple是有用的。另一方面,容器包含多个相同类型的元素(可能数量不同)。

它更像是结构体而不是容器的替代品。但是,在大多数情况下,出于可读性的考虑,您最好定义一个结构体。元组最适合用于参数数量可变的模板中。