Biblioteca de tuplas de C ++ - make_tuple

Descripción

Construye un objeto del tipo de tupla apropiado para que contenga los elementos especificados en args.

Declaración

A continuación se muestra la declaración de 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 - Contiene una lista de elementos que contendrá la tupla construida.

Valor devuelto

Devuelve un objeto de tupla del tipo apropiado para contener argumentos.

Excepciones

No-throw guarantee - esta función miembro nunca arroja excepciones.

Carreras de datos

Si algún tipo en Tipos es una referencia rvalue de un tipo que admite la semántica de movimiento, se modifica su argumento correspondiente.

Ejemplo

En el siguiente ejemplo 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;
}

La salida debería ser así:

third contains: 0 and abc