当前位置:   article > 正文

C++ tuple 的使用

C++ tuple 的使用

tuple的作用

C++ 中的 std::tuple标准库提供的一个容器,它可以存储任意数量、任意类型的元素。相比于只能存储两个元素的 std::pairstd::tuple 允许你创建包含更多元素的数据结构,并且这些元素可以是不同类型的。

获取tuple的值 std::get<index>(myTuple) 来访问指定索引位置的元素。索引从0开始。

例如:int intValue = std::get<0>(myTuple); // 访问第一个元素(int 类型)

std::string strValue = std::get<1>(myTuple); // 访问第二个元素(std::string 类型)

double dblValue = std::get<2>(myTuple); // 访问第三个元素(double 类型)

get<x> 是第几个元素,注意第一个元素是从0开始的

tuple 写一个demo 看下他的使用

  1. #include <iostream>
  2. #include <string>
  3. #include <tuple>
  4. using namespace std;
  5. int main() {
  6. // 定义一个 tuple 存储整数、字符串和浮点数
  7. tuple<int,string, double> myTuple(42, "hi!", 3.14);
  8. cout<<get<0>(myTuple)<<get<1>(myTuple)<<get<2>(myTuple)<<endl;
  9. // 或者通过构造函数参数列表初始化
  10. tuple<int,string, double> anotherTuple = make_tuple(42, "hi!", 3.14);
  11. cout<<get<0>(anotherTuple)<<get<1>(anotherTuple)<<get<2>(anotherTuple)<<endl;
  12. return 0;
  13. }

元素的大小与类型查询

  1. std::size_t size = std::tuple_size_v<decltype(myTuple)>; // 获取元组大小
  2. using IntType = typename std::tuple_element<0, decltype(myTuple)>::type; // 获取第一个元素的类型

拷贝、赋值和比较:

  1. std::tuple<int, std::string, double> copyOfTuple(myTuple); // 拷贝构造
  2. copyOfTuple = anotherTuple; // 赋值操作
  3. if (myTuple == anotherTuple) { // 使用内置的等于运算符进行比较
  4. // ...
  5. }

修改tuple的元素

  1. #include <iostream>
  2. #include <string>
  3. #include <tuple>
  4. using namespace std;
  5. int main() {
  6. // 定义一个 tuple 存储整数、字符串和浮点数
  7. tuple<int,string, double> myTuple(42, "hi!", 3.14);
  8. cout<<get<0>(myTuple)<<get<1>(myTuple)<<get<2>(myTuple)<<endl;
  9. // 修改里面的元素
  10. get<0>(myTuple) = 50;
  11. get<1>(myTuple) = "hello";
  12. get<2>(myTuple) = 3.1415;
  13. cout<<get<0>(myTuple)<<get<1>(myTuple)<<get<2>(myTuple)<<endl;
  14. return 0;
  15. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/305876
推荐阅读
相关标签
  

闽ICP备14008679号