c++之元组std::tuple常见用法

本文详细介绍了C++11中std::tuple的使用,包括创建与初始化、访问元素、获取元素类型、std::tie解包、元组连接及遍历等操作,并给出了相关实例和输出结果。
摘要由CSDN通过智能技术生成

元组,c++11中引入的新的类型,可类比std::pair。 但是std::pair只能支持两个元素。 理论上, 元组支持0~任意个元素。 

  本文演示环境: VS2015 up3

0、头文件

#include <tuple>

1、创建和初始化

  1.1、创建一个空的元组, 创建时,需要指定元组的数据类型。

std::tuple<int, float, double, long, long long> first;

  1.2 、创建一个元组并初始化元组。  

1     std::string str_second_1("_1");
2     std::string str_second_2("_2");
3 
4     // 指定了元素类型为引用 和 std::string, 下面两种方式都是可以的,只不过第二个参数不同而已
5     std::tuple<std::string, std::string> second_1(str_second_1, std::string("_2"));
6     std::tuple<std::string, std::string> second_2(str_second_1, str_second_2);

  1.3、创建一个元素是引用的元组

1     //3、创建一个元组,元组的元素可以被引用, 这里以 int 为例
2     int i_third = 3;
3     std::tuple<int&> third(std::ref(i_third));

  1.4、使用make_tuple创建元组

1     int i_fourth_1 = 4;
2     int i_fourth_2 = 44;
3     // 下面的两种方式都可以
4     std::tuple<int, int> forth_1    = std::make_tuple(i_fourth_1, i_fourth_2);
5     auto forth_2                    = std::make_tuple(i_fourth_1, i_fourth_2);

  1.5、创建一个类型为引用的元组, 对元组的修改。 这里以 std::string为例

 1     std::string str_five_1("five_1");
 2     // 输出原址值
 3     std::cout << "str_five_1 = " << str_five_1.c_str() << "\n";
 4 
 5     std::tuple<std::string&, int> five(str_five_1, 5);
 6     // 通过元组 对第一个元素的修改,str_five_1的值也会跟着修改,因为元组的第一个元素类型为引用。
 7     // 使用get访问元组的第一个元素
 8     std::get<0>(five) = "five_2";
 9 
10     // 输出的将是: five_2
11     std::cout << "str_five_1 = " <
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值