有什么办法可以分隔成对的整数吗? 首先,我以一种方式声明队列:
typedef pair<int,int>pr;
queue<pr>que;
我可以轻松地在其中推送单独的变量。例如
que.push(make_pair(c,p));
现在,当我从队列中获取价值时。我必须接受像myp这样的任何配对变量。
pair<int , int> myp = que.front();
现在,有没有办法从 myp 的两个单独变量中取值,或者从队列中的另一个变量中直接取值?
答案 0 :(得分:3)
有什么办法可以从myp的两个独立变量中获取价值
是:
auto [c, p] = que.front();
这些被称为结构化绑定,自C ++ 17以来一直是该语言的一部分。
C ++ 98有什么办法吗?
是的。如果查看std::pair
的文档,就会发现它有两个成员first
和second
。
int a = myp.first;
int b = myp.second;