Biblioteca de tuplas de C ++ - obtener

Descripción

Se usa para obtener un elemento y devuelve una referencia al Ith elemento de la tupla tpl.

Declaración

A continuación se muestra la declaración de std :: get.

C ++ 98

template <size_t I, class... Types>
typename tuple_element< I, tuple<Types...> >::type& get(tuple<Types...>& tpl) noexcept;	
template <size_t I, class... Types>
typename tuple_element< I, tuple<Types...> >::type&& get(tuple<Types...>&& tpl) noexcept;
template <size_t I, class... Types>
typename tuple_element< I, tuple<Types...> >::type const& get(const tuple<Types...>& tpl)
   noexcept;

C ++ 11

template <size_t I, class... Types>
typename tuple_element< I, tuple<Types...> >::type& get(tuple<Types...>& tpl) noexcept;
template <size_t I, class... Types>
typename tuple_element< I, tuple<Types...> >::type&& get(tuple<Types...>&& tpl) noexcept;
template <size_t I, class... Types>
typename tuple_element< I, tuple<Types...> >::type const& get(const tuple<Types...>& tpl)
   noexcept;

Parámetros

  • I - Contiene la posición del elemento.

  • Types - Contiene el tipo de elemento.

Valor devuelto

Devuelve una referencia al elemento I de la tupla tpl.

Excepciones

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

Carreras de datos

Se accede a lhs y rhs, y se accede a todos sus miembros.

Ejemplo

En el siguiente ejemplo para std :: get.

#include <iostream>
#include <tuple>

int main () {
   std::tuple<int,char> mytuple (10,'x');

   std::get<0>(mytuple) = 20;

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

   return 0;
}

La salida debería ser así:

tuple contains: 20 and x