Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::make_pair(3)	      C++ Standard Libary	     std::make_pair(3)

NAME
       std::make_pair -	std::make_pair

Synopsis
	  Defined in header <utility>
	  template< class T1, class T2 >		  (until C++11)
	  std::pair<T1,	T2> make_pair( T1 t, T2	u );
	  template< class T1, class T2 >		  (since C++11)
	  std::pair<V1,	 V2>  make_pair(  T1&&	t, T2&&	u );  (constexpr since
       C++14)

	  Creates a std::pair object, deducing the target type from the	 types
       of arguments.

	  The deduced types V1 and V2 are std::decay<T1>::type and
	  std::decay<T2>::type (the usual type transformations applied to
	  arguments  of	 functions  passed  by	value)	unless	application of
       (since C++11)
	  std::decay results in	std::reference_wrapper<X> for some type	X, in
	  which	case the deduced type is X&.

Parameters
	  t, u - the values to construct the pair from

Return value
	  A std::pair object containing	the given values.

Example
       // Run this code

	#include <functional>
	#include <iostream>
	#include <utility>

	int main()
	{
	    int	n = 1;
	    int	a[5] = {1, 2, 3, 4, 5};

	    // build a pair from two ints
	    auto p1 = std::make_pair(n,	a[1]);
	    std::cout << "The value of p1 is "
		      << '(' <<	p1.first << ", " << p1.second << ")\n";

	    // build a pair from a reference to	int and	an array  (decayed  to
       pointer)
	    auto p2 = std::make_pair(std::ref(n), a);
	    n =	7;
	    std::cout << "The value of p2 is "
		      << '(' <<	p2.first << ", " << *(p2.second	+ 2) <<	")\n";
	}

Output:
	The value of p1	is (1, 2)
	The value of p2	is (7, 3)

	  Defect reports

	  The following	behavior-changing defect reports were applied retroac-
       tively to
	  previously published C++ standards.

	    DR	      Applied	  to		   Behavior    as    published
       Correct behavior
	  LWG  181  C++98	the  parameter	types	were   const-reference
       changed these
			     types, which made passing arrays impossible types
       to value	types

http://cppreference.com		  2024.06.10		     std::make_pair(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::make_pair&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help