C++ 如何将成对整数视为分离变量?

C++ 如何将成对整数视为分离变量?,c++,queue,std-pair,C++,Queue,Std Pair,有没有办法分开成对的整数? 首先,我以某种方式声明队列: typedef pair<int,int>pr; queue<pr>que; 现在,当我从队列中获取值时。我必须接受任何成对的变量,比如myp pair<int , int> myp = que.front(); pair myp=que.front(); 现在,有没有办法从myp中获取两个单独变量的值,或者直接从队列中获取单独变量的值 有没有办法从myp中获取两个独立变量的值 是的: 这些称为

有没有办法分开成对的整数? 首先,我以某种方式声明队列:

typedef pair<int,int>pr;
queue<pr>que;
现在,当我从队列中获取值时。我必须接受任何成对的变量,比如myp

 pair<int , int> myp = que.front();
pair myp=que.front();
现在,有没有办法从myp中获取两个单独变量的值,或者直接从队列中获取单独变量的值

有没有办法从myp中获取两个独立变量的值

是的:

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

在C++98中有什么方法吗

对。如果您查看
std::pair
的文档,您会发现它有两个成员,
第一个
,和
第二个

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

使用,或者,如果C++17可用,则使用。您是否知道,只需使用
int a=myp.first,b=myp.second?@HolyBlackCat这应该是我的答案feel@HolyBlackCat我不知道。它工作正常,而且在C++11中有什么方法吗?
auto [c, p] = que.front();
int a = myp.first;
int b = myp.second;