Partager via


make_tuple, fonction

Fait un tuple à partir des valeurs d'élément.

template<class T1, class T2, ..., class TN>
    tuple<V1, V2, ..., VN>
    make_tuple(const T1& t1, const T2& t2, ..., const TN& tN);

Paramètres

  • TN
    Le type de l'énième paramètre de fonction.

  • tN
    La valeur de l'énième paramètre de fonction.

Notes

La fonction de modèle retourne tuple<V1, V2, ..., VN>(t1, t2, ..., tN), où chaque type Vi est X& lorsque le type de Ti est cv reference_wrapper<X>; sinon, il s'agit Ti.

Un avantage de make_tuple est que les types d'objets stockés sont déterminés automatiquement par le compilateur et ne sont pas tenus d'être spécifiés explicitement. N'utilisez pas d'arguments template explicites, tels que make_tuple<int, int>(1, 2), lorsque vous utilisez make_tuple, car cela est inutilement détaillé et ajoute des problèmes complexes de référence rvalue susceptibles de provoquer un échec de compilation.

Exemple

// 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

Configuration requise

En-tête : <tuple>

Espace de noms : std

Voir aussi

Référence

<tuple>

tie, fonction