La combinación de auto y decltype
0. espectáculo previo a la clase
decltype
Se resolvió el problema de tipo sum (), pero no se declararon t1 y t2 . Para resolver este problema, se introdujo el tipo de retorno final (tipo-retorno-final) .
1. La introducción de los tipos de retorno de seguimiento
- Originalmente, solo se usaba dectype
template<typename T1, typename T2>
decltype(t1+t2) sum(T1 &t1, T2 &t2)
{
return t1 + t2;
}
- Ahora: cómo escribir auto y decltype
template <typename T1, typename T2>
auto sum(T1 &t1, T2 &t2)->decltype( t1 + t2)
{
return t1 + t2;
}
2. Los dos elementos básicos que componen la función de tipo de retorno de rastreo
auto
Marcador de posición
- Símbolo compuesto
->return_type
, es decir->decltype(t1+t2)
3. Rastree la aplicación real de la función de tipo de retorno
Léame
- 20200421 Primera edición: "La comprensión en profundidad de C ++ 11" 4.4, "La aplicación en profundidad de C ++ 11" es demasiado simple de escribir.