make_tuple Function
Crea tuple de valores de elementos.
template<class T1, class T2, ..., class TN>
tuple<V1, V2, ..., VN>
make_tuple(const T1& t1, const T2& t2, ..., const TN& tN);
Parámetros
TN
El tipo de parámetro de la función de Enésimo.tN
El valor del parámetro de función de Enésimo.
Comentarios
La función de la plantilla devuelve tuple<V1, V2, ..., VN>(t1, t2, ..., tN), donde es X& cada Vi escrito cuando se Ti tipo correspondiente es cvreference_wrapper<X>; de lo contrario, es Ti.
Una ventaja make_tuple es que el compilador determinan automáticamente y no tienen que explícitamente especificar los tipos de objetos se están almacenando que.No utilice los argumentos de plantilla explícitos como make_tuple<int, int>(1, 2) cuando se utiliza make_tuple porque es innecesariamente detallado y agrega los problemas complejos de referencia rvalue que pueden provocar un error de compilación.
Ejemplo
// std_tr1__tuple__make_tuple.cpp
// compile by using: /EHsc
#include <tuple>
#include <iostream>
typedef std::tuple<int, double, int, double> Mytuple;
int main()
{
Mytuple c0(0, 1, 2, 3);
// display contents " 0 1 2 3"
std::cout << " " << std::get<0>(c0);
std::cout << " " << std::get<1>(c0);
std::cout << " " << std::get<2>(c0);
std::cout << " " << std::get<3>(c0);
std::cout << std::endl;
c0 = std::make_tuple(4, 5, 6, 7);
// display contents " 4 5 6 7"
std::cout << " " << std::get<0>(c0);
std::cout << " " << std::get<1>(c0);
std::cout << " " << std::get<2>(c0);
std::cout << " " << std::get<3>(c0);
std::cout << std::endl;
return (0);
}
0 1 2 3 4 5 6 7
Requisitos
Encabezado: <tuple>
Espacio de nombres: std