C++ 标准库中的 std::tuple
是一个模板类,用于存储任意数量的元素,每个元素的类型可以不同。它提供了一个通用的方法来处理多个值,类似于固定大小的元素集合。
特点:
- 任意类型:
std::tuple
可以存储任意类型的元素,元素的类型可以不同。 - 定长:元组的大小在编译时确定,一旦创建后大小不能改变。
- 索引访问:可以通过索引来访问元组中的元素。
- 结构化绑定:C++17 引入了结构化绑定特性,可以方便地将元组中的元素解包到多个变量中。
#include <iostream>
#include <tuple>
int main() {
// 创建一个包含三个元素的元组,分别是整数、双精度浮点数和字符
std::tuple<int, double, char> myTuple(42, 3.14, 'A');
// 访问元组中的元素
std::cout << "First element: " << std::get<0>(myTuple) << std::endl;
std::cout << "Second element: " << std::get<1>(myTuple) << std::endl;
std::cout << "Third element: " << std::get<2>(myTuple) << std::endl;
// 修改元组中的元素
std::get<0>(myTuple) = 100;
std::cout << "Modified first element: " << std::get<0>(myTuple) << std::endl;
// 结构化绑定
auto [x, y, z] = myTuple;
std::cout << "x: " << x << ", y: " << y << ", z: " << z << std::endl;
return 0;
}