c++ STL 之元组—— tuple 详解

何为 tuple ?tuple 类似。 struct(或 class) 但有了 struct (或 class)何必还需 tuple?这是一个高深的问题。

目录

一、简介

二、应用

        1.定义

        2.函数

                1.swap

                2.get 

                3.tuple_cat

一、简介

    tuple 就是元组。比如 pair 就是一个二元组,有两个变量,但 tuple 却高级多了,三元组、四元组、五元组······他都能定义。当然,这是 c++11 之后才有的(不要在 dev c++,vs code 上尝试了,等待你的是报错,如下:),因为 tuple 所用的“可变参数模版”是在 c++11 之后才有的(IOI、NOI、NOIp、csp、csp-j、csp-s、gesp、电子学会等级考试······等当然能用,它们用的是 c++14)。

error: no template named 'tuple'
        tuple<int> tup;
        ^
1 error generated.

二、应用

        1.定义

    引用 tuple 头文件:

#include <tuple>

    定义 tuple  ,和一般模版类一样,1.类型名、2.模版、3.变量名:

tuple <int,string,char> tup;

    可以在构造时赋值: 

 tuple <int,string,char> tup(1024,"Hello world!",65536);

    后期赋值也行: 

tup = make_tuple(1024,"Hello world!",65536);

     “make_tuple” 指生成一个 tuple 。 

        2.函数

                1.swap

    交换两个 tuple: 

tup1.swap(tup2);

    不用这样!!! 

swap(tup1,tup2);
                2.get 

    返回 tuple 中第 x 个元素的值: 

cout << get <x> (tup);

    不要这样!!! 

cout << tup.get <x> ();

    这样也不行!!! 

cout << tup <x> .get();
                3.tuple_cat

    猫无关!!! 链接两个 tuple:

tuple <int,int,int,int,string> tup;
tup = tuple_cat(t1,t2,t3);

你学会了吗?

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值