如何将对整数视为分隔变量?

时间:2018-10-03 17:10:10

标签: c++ queue std-pair

有什么办法可以分隔成对的整数吗? 首先,我以一种方式声明队列:

typedef pair<int,int>pr;
queue<pr>que;

我可以轻松地在其中推送单独的变量。例如

    que.push(make_pair(c,p));

现在,当我从队列中获取价值时。我必须接受像myp这样的任何配对变量。

 pair<int , int> myp = que.front();

现在,有没有办法从 myp 的两个单独变量中取值,或者从队列中的另一个变量中直接取值?

1 个答案:

答案 0 :(得分:3)

  

有什么办法可以从myp的两个独立变量中获取价值

是:

auto [c, p] = que.front();

这些被称为结构化绑定,自C ++ 17以来一直是该语言的一部分。

  

C ++ 98有什么办法吗?

是的。如果查看std::pair的文档,就会发现它有两个成员firstsecond

int a = myp.first;
int b = myp.second;