Quais são alguns usos do decltype (auto)?
Em c ++ 14, odecltype(auto)
idioma é introduzido.
Normalmente, seu uso épermitirauto
declarações para usar odecltype
regras sobre a expressão dada.
Procurando exemplos de uso "bom" do idioma, só consigo pensar em coisas como as seguintes (porScott Meyers), nomeadamente paradedução do tipo de retorno de uma função:
template<typename ContainerType, typename IndexType> // C++14
decltype(auto) grab(ContainerType&& container, IndexType&& index)
{
authenticateUser();
return std::forward<ContainerType>(container)[std::forward<IndexType>(index)];
}
Existem outros exemplos em que esse novo recurso de idioma é útil?