make_pair
Funkcja szablonu, która służy do konstruowania obiektów typu pair, gdzie typy składników są wybierane automatycznie na podstawie typów danych, które są przekazywane 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
Wartość, która inicjuje pierwszy element pair.Val2
Wartość, która inicjuje drugi element pair.
Wartość zwracana
Obiekt pary, który jest tworzony: pair<Type1, Type2> (Val1, Val2).
Uwagi
make_pair konwertuje obiekt typu reference_wrapper — Klasa do typów odwołań i konwertuje zanikające tablice i funkcje do wskaźników.
W zwracanym obiekcie pair, Type1 jest określany w następujący sposób:
Jeśli typ danych wejściowych Type1 to reference_wrapper<X>, wówczas zwracany typ Type1 to X&.
W przeciwnym razie, zwracany typ Type1 to decay<Type1>::type.Jeśli decay — Klasa nie jest obsługiwany, zwrócony typ Type1 jest taki sam, jak typ wejściowy Type1.
Zwracany typ Type2 jest podobnie określany z typu wejściowego Type2.
Jedną z zalet make_pair jest to, że typy obiektów, które są przechowywane, są określane automatycznie przez kompilator i nie muszą być jawnie określone.Nie używaj jawnych argumentów szablonów, takich jak make_pair<int, int>(1, 2), gdy używasz make_pair, ponieważ daje to nadmiar informacji i dodaje złożone problemy z odwołaniami rvalue, które mogą spowodować błąd kompilacji.W tym przykładzie poprawna składnia to make_pair(1, 2)
Funkcja pomocnika make_pair umożliwia także przekazywanie dwóch wartości do funkcji, która wymaga pary jako parametru wejściowego.
Przykład
Aby uzyskać przykład, jak korzystać z funkcji pomocnika make_pair w celu zadeklarowania i zainicjowania pary, zobacz pair — Struktura.
Wymagania
Nagłówek: < Narzędzia >
Przestrzeń nazw: std