C ++ dTtype

C ++ dTtype
“A inferência de tipo é a determinação automática do tipo de dados de uma instrução em uma linguagem de computador. Os possíveis valores de uma expressão em tempo de execução foram restringidos pela declaração manual de cada tipo de dados antes de C ++ 11. Se pudermos usar a inferência do tipo, podemos escrever menos código para expressar algo que o compilador já entende. Embora o tempo de compilação aumente significativamente, pois todos os tipos são determinados apenas durante a fase do compilador, o tempo de execução do programa não é afetado. Aqui, discutiremos a palavra -chave C ++ DWTYPE e sua funcionalidade.”

O que é dtype em c++

Ele analisa o tipo de entidade ou uma expressão declarada. Decttype é um tipo de operador que examina o tipo de expressão dada, em oposição a "automático", que permite definir uma variável com um determinado tipo, mas permite recuperar o tipo da variável. As informações de tipo são fornecidas pela Dettype durante a compilação e por tipoid durante a execução. Como resultado, se um objeto de uma classe derivada tiver uma referência de classe base ou ponteiro apontando para ele, o TypeID fornecerá a referência ou ponteiro do tipo derivado, em vez de tipo, que será fornecido pelo Decttype.

Quando é necessário conhecer o tipo dinâmico de um objeto, o tipo de operador é usado. No entanto, o nome real que é devolvido é um pouco dependente do compilador.

A sintaxe geral C ++ prevê que Decttype é o seguinte:

Sintaxe:

dTtype (expressão)

O dTtype leva apenas um parâmetro, que é uma expressão. O Decttype retorna o tipo do parâmetro de expressão. Usando as seguintes diretrizes, o compilador depende do tipo de parâmetro de expressão.

  • Quando o parâmetro de expressão é um acesso a um membro da classe ou um identificador, o tipo de objeto identificado pela expressão é DONTYPE (expressão). Se esse objeto não existir ou se o argumento da expressão especificar um grupo de funções sobrecarregadas, o compilador emite uma mensagem de erro.
  • Se a expressão de entrada chamar um método ou uma função do operador com muitas sobrecargas, o tipo de retorno de uma determinada função será DONTTYPE (expressão).

Exemplo 1

A implementação da discussão acima é dada pelo Código Decttype. Como mais de uma variável, função, classe, etc., não pode ter o mesmo nome no escopo idêntico. O espaço para nome é, portanto, introduzido para resolver este problema. Depois disso, estabelecemos a função "my_func1", que retorna o valor inteiro "5", como especificamos inicialmente o tipo de dados int para a função "my_func1".

Novamente, estabelecemos uma função como "my_func2" e atribuímos um tipo de dados de char a ele. Esta função retorna o valor do personagem "eu". Em seguida, construímos o INT Main () do programa, onde implantamos o modificador de Dettype. O modificador de Dettype pega o "my_func1" e "my_func2" como um argumento, respectivamente. Para o Decttype, também definimos as duas variáveis ​​como "a" e "b".

As variáveis ​​"a" e "b" têm os mesmos tipos de dados que o tipo de retorno de "my_func1" e "my_func2". Em seguida, temos uma declaração de cout em que o TypeID leva as variáveis ​​"a" e "b" como entrada e retornará o tipo dessas variáveis.

#incluir
usando namespace std;
int my_func1 () return 5;
char my_func2 () return 'l';
int main ()

dTtype (my_func1 ()) a;
dTtype (my_func2 ()) b;
cout<cout<retornar 0;

Como o tipo de "my_func1" é int e "my_func2" é char. Então, na saída, o tipo "i" e "c" é retornado, o que indica o tipo int e char.

Exemplo 2

Uma ilustração adicional do uso de Dettype é fornecida abaixo, que é ligeiramente diferente da anterior. Construímos diretamente o principal () deste programa em particular após a seção de cabeçalho. Dentro do programa principal do programa, declaramos a variável "num" e atribuímos um número "10" a ele. Em seguida, chamamos o modificador de Dettype, que leva a variável "num" como um parâmetro. Com o modificador de Decttype, também definimos a variável "i", que tem o tipo de mesmo que o tipo de variável "num".

Em seguida, adicionamos o número e o número "10" usando o operador Plus dentro da variável "i". Depois disso, temos um comando cout, onde o tipo é invocado que toma a variável "i" como uma entrada e fornece seu tipo.

#incluir
usando namespace std;
int main ()

int num = 10;
dTtype (num) i = num + 10;
cout<< "decltype : " <retornar 0;

Como fornecemos o tipo int para a variável "num" no trecho de código acima. A saída exibe a palavra "i", que é o valor do tipo int da variável "num".

Exemplo 3

Os números mínimos de número são retornados pelo modelo de modelo C ++ Min Type (), que é visto abaixo. Qualquer tipo integral pode ser usado para os dois números. O tipo mínimo de dois é usado para determinar o tipo de retorno.

Com o modificador automático, criamos a função pesquisa () e passamos as variáveis ​​x e y como um parâmetro dentro dele. Em seguida, atribuímos os nomes da variável para a palavra -chave de Dettype. O Decttype leva a variável com a expressão condicional. A função procura o valor mínimo e retorna o tipo de variável que tem o valor mínimo. Em seguida, dentro do int main (), passamos o valor para a função de segurança através do comando cout.

#incluir
usando namespace std;
modelo
pesquisa automática (t1 x, t2 y) -> dTtype (x < y ? x : y)

retornar (x < y) ? x: y;

int main ()

cout<cout<retornar 0;

A saída exibiu os valores mínimos abaixo. A partir da primeira declaração de pesquisa, 4.55 é devolvido do tipo duplo. Então a segunda declaração, 2, é obtida do tipo de dados int.

Conclusão

Isso é tudo sobre o C ++ Dettype. Discutimos isso brevemente com a definição, sua sintaxe e sua funcionalidade neste artigo em particular. Aqui, mostramos o Decttype trabalhando com o código de exemplo em execução em C++. Todas as instâncias são distintas uma da outra. As instâncias diferem um do outro. O script de Dettype com o prefixo automático é demonstrado no último exemplo. A palavra -chave de dedução automática de tipo, automática, é usada em C ++ 11 e além.