std::type_identity - cppreference.com
De cppreference.com
|
|
(desde C++20) | |
Proporciona la definición de tipo (typedef) miembro type que denomina T (es decir, la transformación de identidad).
El comportamiento de un programa que añade especializaciones para type_identity no está definido.
Tipos miembro
Tipos auxiliares
|
|
(desde C++20) | |
Posible implementación
template< class T > struct type_identity { using type = T; };
Notas
type_identity puede usarse para establecer contextos no deducidos en la deducción de argumentos de plantilla:
template<class T> void f(T, T); template<class T> void g(T, std::type_identity_t<T>); f(4.2, 0); // ERROR, tipos conflictivos deducidos para 'T' g(4.2, 0); // de acuerdo, llama a g<double>