Как трактовать целое число пары как разделенную переменную? - PullRequest
0 голосов
/ 03 октября 2018

Есть ли способ отделить парное целое число?сначала я объявляю очередь следующим образом:

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

я могу легко вставить в нее отдельную переменную.например,

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

сейчас, когда я беру значение из очереди.мне нужно принять любую парную переменную, такую ​​как myp.

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

Теперь, есть ли способ получить значение в две отдельные переменные из myp или напрямую получить значение в отдельной переменной из очереди

1 Ответ

0 голосов
/ 03 октября 2018

есть ли способ получить значение в двух отдельных переменных от myp

Да:

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

Они называются структурированными привязками и были частьюязык с C ++ 17.

есть ли способ в C ++ 98?

Да.Если вы посмотрите на документацию std::pair, вы обнаружите, что она состоит из двух членов: first и second.

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