C++ Utilizzando std :: pair


Esempio

Il modello struct std::pair può raggruppare esattamente due valori di ritorno, di due tipi:

#include <utility>
std::pair<int, int> foo(int a, int b) {
    return std::make_pair(a+b, a-b);
}

Con C ++ 11 o std::make_pair successive, è possibile utilizzare un elenco di inizializzatori invece di std::make_pair :

C ++ 11
#include <utility>
std::pair<int, int> foo(int a, int b) {
    return {a+b, a-b};
}

I singoli valori della std::pair restituita possono essere recuperati utilizzando gli oggetti first e second member della coppia:

std::pair<int, int> mrvs = foo(5, 12);
std::cout << mrvs.first + mrvs.second << std::endl;

Produzione:

10