[c++11] --- tuple

1 tuple不是容器

在 C++ 中,std::tuple 是一个模板类,用于将多个值组合为一个单独的对象。它是一个固定大小的集合,其中每个元素可以具有不同的类型。尽管 std::tuple 可以容纳多个值,但它不被视为容器类,因为它不提供常见的容器操作(如迭代器和添加/删除元素等)。

与容器不同,std::tuple 具有固定的大小和类型,并且不支持动态调整大小。因此,如果您需要对元素进行添加或删除操作,或者需要支持迭代器,则应使用诸如 std::vector、std::list、std::set 或 std::map 等容器类。

2 tuple常用方法

这些方法包括:

std::make_tuple(): 用于创建一个tuple对象,可以接受任意数量和类型的参数,并将它们打包成tuple对象。例如:auto t = std::make_tuple(1, 2.3, “hello”);

std::get(): 用于访问tuple对象中指定索引的元素,返回一个左值引用。例如:int i = std::get<0>(t); t中第一个元素的值赋给i。

std::tuple_size<>: 用于获取tuple对象中元素的数量,可以通过模板参数指定要获取的tuple类型。例如:std::tuple_size<decltype(t)>::value 表示t中元素的数量。

std::tuple_element<>: 用于获取tuple对象中指定索引的元素类型,可以通过模板参数指定要获取的tuple类型和元素的索引。例如:std::tuple_element<2,

猜你喜欢

转载自blog.csdn.net/weixin_42445727/article/details/129930364