decltype
é uma palavra-chave usada para consultar o tipo de uma expressão . Introduzido no C++ 11 , seu principal uso é na programação genérica , onde muitas vezes é difícil, ou mesmo impossível, expressar tipos que dependem de parâmetros de modelo .
À medida que as técnicas de programação genérica se tornaram cada vez mais populares ao longo da década de 1990, a necessidade de um mecanismo de dedução de tipo foi reconhecida. Muitos fornecedores de compiladores implementaram suas próprias versões do operador, normalmente chamadas typeof
, e algumas implementações portáteis com funcionalidade limitada, com base nos recursos de linguagem existentes, foram desenvolvidas.
Em 2002, Bjarne Stroustrup propôs que uma versão padronizada do operador fosse adicionada à linguagem C++ e sugeriu o nome “decltype
”, para refletir que o operador produziria o “tipo declarado” de uma expressão.
A semântica foi projetada para atender tanto a desenvolvedores de bibliotecas genéricas quanto programadores novatos. Em geral, o tipo deduzido corresponde ao tipo do objeto ou função exatamente como declarado no código-fonte.
Exemplo:
Por hoje é só, são pequenas doses diárias que farão sempre nos manter antenado com o C++ !