Biblioteca C ++ Tuple - make_tuple

Descrição

Ele constrói um objeto do tipo de tupla apropriado para conter os elementos especificados em args.

Declaração

A seguir está a declaração para 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);

Parâmetros

args - Contém lista de elementos que a tupla construída deve conter.

Valor de retorno

Ele retorna um objeto de tupla do tipo apropriado para conter args.

Exceções

No-throw guarantee - esta função de membro nunca lança exceções.

Corridas de dados

Se qualquer tipo em Tipos for uma referência rvalue de um tipo que oferece suporte à semântica de movimentação, seu argumento correspondente será modificado.

Exemplo

No exemplo abaixo para 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;
}

A saída deve ser assim -

third contains: 0 and abc