make_pair
Podpůrná funkce šablony, můžete vytvořit objekty typu pair, kde typy komponent jsou založeny na datových typů, které jsou předány jako parametry.
template<class Type1, class Type2>
pair<Type1, Type2> make_pair(
Type1& _Val1,
Type2& -Val2
);
template<class Type1, class Type2>
pair<Type1, Type2> make_pair(
Type1& _Val1,
Type2&& -Val2
);
template<class Type1, class Type2>
pair<Type1, Type2> make_pair(
Type1&& _Val1,
Type2& -Val2
);
template<class Type1, class Type2>
pair<Type1, Type2> make_pair(
Type1&& _Val1,
Type2&& -Val2
);
Parametry
_Val1
Hodnota, která inicializuje první element pair._Val2
Hodnota, která inicializuje druhého prvku pair.
Vrácená hodnota
Pár objekt, který je vyroben: pair<Type1, typ2> (_hodn1, _Val2).
Poznámky
make_pairPřevede objekt typu reference_wrapper Class referenční typy a převede slábnoucí pole a funkce ukazatelů.
V vráceného pair objektu, Type1 se určí takto:
Pokud vstupní typ Type1 je reference_wrapper<X>, vrácený typ Type1 je X&.
Jinak vrácený typ Type1 je decay<Type1>::type.Pokud decay Class není podporována vrácený typ Type1 je stejný jako typ vstupu Type1.
Vrácený typ typ2 se podobně určí typ vstupu typ2.
Výhodou make_pair určuje kompilátor automaticky a není nutné explicitně zadat typy objektů, které jsou právě uloženy.Nepoužívejte explicitní šablony argumentů jako make_pair<int, int>(1, 2) při použití make_pair , protože je zbytečně podrobné a přidá složité rvalue odkaz problémy, které mohou způsobit selhání kompilace.
make_pair Podpůrná funkce také umožňuje předat funkci, která vyžaduje pár jako vstupní parametr dvě hodnoty.
Příklad
Příklad jak podpůrná funkce make_pair deklarovat a inicializovat pár, viz pair Structure.
Požadavky
Záhlaví: <utility>
Obor názvů: std