Bibliothèque de tuples C ++ - make_tuple

La description

Il cnstruit un objet du type de tuple approprié pour contenir les éléments spécifiés dans args.

Déclaration

Voici la déclaration pour std :: make_tuple.

C ++ 98

template<class... Types>
   tuple<VTypes...> make_tuple (Types&&... args);

C ++ 11

template<class... Types>
   tuple<VTypes...> make_tuple (Types&&... args);

Paramètres

args - Il contient la liste des éléments que le tuple construit doit contenir.

Valeur de retour

Il renvoie un objet tuple du type approprié pour contenir des arguments.

Exceptions

No-throw guarantee - cette fonction membre ne lève jamais d'exceptions.

Courses de données

Si un type quelconque dans Types est une référence rvalue d'un type prenant en charge la sémantique de déplacement, son argument correspondant est modifié.

Exemple

Dans l'exemple ci-dessous pour std :: make_tuple.

#include <iostream>
#include <tuple>
#include <functional>

int main() {
   auto first = std::make_tuple (10,'a');

   const int a = 0; int b[3];
   auto second = std::make_tuple (a,b);

   auto third = std::make_tuple (std::ref(a),"abc");

   std::cout << "third contains: " << std::get<0>(third);
   std::cout << " and " << std::get<1>(third);
   std::cout << std::endl;

   return 0;
}

La sortie devrait être comme ça -

third contains: 0 and abc