Compartir a través de


make_tuple (Función)

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 cv reference_wrapper<X>; de lo contrario, es Ti.

Una ventaja de 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

tupla <deEncabezado: >

Espacio de nombres: std

Vea también

Referencia

<tuple>

tie (Función)