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