Libreria di tuple C ++ - make_tuple

Descrizione

Istruisce un oggetto del tipo di tupla appropriato per contenere gli elementi specificati in args.

Dichiarazione

Di seguito è riportata la dichiarazione per 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);

Parametri

args - Contiene un elenco di elementi che la tupla costruita deve contenere.

Valore di ritorno

Restituisce un oggetto tupla del tipo appropriato per contenere gli argomenti.

Eccezioni

No-throw guarantee - questa funzione membro non genera mai eccezioni.

Gare di dati

Se qualsiasi tipo in Tipi è un riferimento rvalue di un tipo che supporta la semantica di spostamento, il suo argomento corrispondente viene modificato.

Esempio

Nell'esempio seguente per 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;
}

L'output dovrebbe essere così -

third contains: 0 and abc