c++ tuple类型

tuple是C++11新标准里的类型。它是一个类似pair类型的模板。pair类型是每个成员变量各自可以是任意类型,但是只能有俩个成员,而tuple与pair不同的是它可以有任意数量的成员。但是每个确定的tuple类型的成员数目是固定的。

当我们希望将一些不同类型的数据和成单一对象时,可能大家会想到结构体(类),tuple是一种比结构体来的更加方便的类型 

构造一个tuple

tuple<const char*, int>tp = make_tuple(sendPack,nSendSize); //构造一个tuple

这个tuple等价于一个结构体

struct A
{
    char* p;
    int len;
};

获取其中的值:

int len = get<1>(); //第二个值

 也可以在容器中套用,比如:

priority_queue<tuple<double, int, int>> pq;

auto [x, a, b] = pq.top();
pq.pop();

pq.push({x, a, b});

猜你喜欢

转载自blog.csdn.net/bieliwuguiqi/article/details/129730408