Significado de decltype em C++

Tipo automático de acordo com o retorno da função usada.


Significado de decltype em C++

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:

#include <iostream>

int the_int(){
  return 3;
}

int main(){
  // pega automaticamente o tipo de retorno de the_int
  decltype( the_int() ) x = the_int();
  std::cout << "O valor de x é: " << x << '\n';
  return 0;
}

Por hoje é só, são pequenas doses diárias que farão sempre nos manter antenado com o C++ !

Acompanhe o cpp::daily


cppdaily


Compartilhe


Nosso canal no Youtube

Inscreva-se


Marcos Oliveira

Marcos Oliveira

Desenvolvedor de software
https://github.com/terroo


Crie Aplicativos Gráficos para Linux e Windows com C++

Aprenda C++ Moderno e crie Games, Programas CLI, GUI e TUI de forma fácil.

Saiba Mais

Receba as novidades no seu e-mail!

Após cadastro e confirmação do e-mail, enviaremos semanalmente resumos e também sempre que houver novidades por aqui para que você mantenha-se atualizado!