make_pair
Funkcja pomocnicza szablon, którego można używać do konstruowania obiektów typu pair, gdzie typów składników są oparte na typy 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 pierwszego elementu pair._Val2
Wartość, która inicjuje drugi element pair.
Wartość zwracana
Obiekt pary, która jest skonstruowana: pair<Type1, Type2> (_Val1, _Val2).
Uwagi
make_pairKonwertuje obiekt typu reference_wrapper Class do typów referencyjnych i konwertuje rozkład tablic i funkcji do wskaźników.
W zwracanych pair obiektu, Type1 określa się następująco:
Jeśli typ danych wejściowych Type1 jest reference_wrapper<X>, zwracany typ Type1 jest X&.
W przeciwnym razie zwracany typ Type1 jest decay<Type1>::type.Jeśli decay Class nie jest obsługiwana, zwracany typ Type1 jest taka sama, jak typ danych wejściowych Type1.
Zwracany typ Type2 podobnie zależy od typu wejściowego Type2.
Jedną z zalet make_pair jest, że typy obiektów, które są przechowywane są określane automatycznie przez kompilator i nie muszą być jawnie określony.Nie używaj jawnej szablonów takich jak make_pair<int, int>(1, 2) użycie make_pair ponieważ jest niepotrzebnie verbose i dodaje złożonych r-wartości odniesienia problemy, które mogą spowodować błąd kompilacji.
make_pair Funkcja helper również pozwala na dwie wartości są przekazywane do funkcji, która wymaga parę jako parametr wejściowy.
Przykład
Na przykład o tym, jak korzystać z funkcji pomocnika make_pair zadeklarować i zainicjować parę, zobacz pair Structure.
Wymagania
Nagłówek: <utility>
Przestrzeń nazw: std