O que é tipoID em C ++

O que é tipoID em C ++

C++ é uma linguagem de programação poderosa que oferece uma ampla gama de aplicativos para seus usuários. Um aspecto importante da linguagem de programação C ++ é sua capacidade de apoiar a identificação do tipo de tempo de execução. O TIPOID está entre as identificações do tipo de tempo de execução amplamente usadas em programas C ++.

Se você não sabe o que TIPOID está em C ++, siga as diretrizes deste artigo.

operador de tipoid em c++

O TIPOID é um operador interno na linguagem de programação C ++ que permite aos usuários determinar o tipo de dados de uma variável no tempo de execução. O valor retornado por TIPOID é do tipo “TypeInfo“, Que fornece vários detalhes sobre o tipo de objeto. É importante nos casos em que um programa precisa executar várias operações com base no tipo de dados que está sendo usado.

Sintaxe do tipoID

A sintaxe de TIPOID O operador em C ++ é o seguinte:

tipoId (tipo)

Ou:

TIPOID (EXP)

O TIPOID O operador em C ++ aceita qualquer um desses dois parâmetros.

Tipo: Quando precisamos conhecer o tipo de tempo de execução de uma variável ou objeto, fornecemos o argumento do tipo TIPOID operador. Somente o argumento do tipo é necessário neste caso, e as informações do tipo de tempo de execução serão coletadas sem nenhuma avaliação ou pré-computação adicional.

Expressão: Quando precisamos de detalhes sobre o tipo de expressão de um tempo de execução, o parâmetro de expressão é dado dentro do TIPOID operador. As informações sobre o tipo de tempo de execução são obtidas após a avaliação da expressão neste parâmetro.

Quando usado com um TIPOID, Ele fornece informações sobre o tipo que corresponde ao identificador. Quando usado com uma expressão, ele fornece informações sobre o tipo dinâmico do objeto.

Usos do operador TypeID

O TIPOID O operador pode ser usado dessa maneira.

  • Quando operando atua como uma variável do objeto
  • Quando operando é uma expressão

1: quando operando atua como variável do objeto

O TIPOID O operador pode ser usado em operandos quando eles agem como uma variável do objeto.

#incluir
#incluir
usando namespace std;
int main ()
int i;
char ch;
flutuar fl;
db duplo;
const type_info & type_i = typeId (i);
const type_info & type_ch = typeId (ch);
const type_info & type_fl = typeId (fl);
const type_info & type_db = typeId (db);
cout<<"Type of int i is: "<cout<<"\nType of character ch is: "<cout<<"\nType of float fl is: "<cout<<"\nType of double db is: "<retornar 0;

No código acima, estamos declarando quatro variáveis ​​diferentes, cada um dos tipos de dados separados. Estamos então usando o TIPOID Operador nessas variáveis ​​e imprime seus tipos de dados usando declarações Cout.

Saída

2: Quando o operando é uma expressão

O TIPOID O operador também pode ser usado onde o operando é tratado como uma expressão.

#incluir
#incluir
usando namespace std;
int main ()
int i = 7;
char ch = 'a';
flutuar fl = 42.4;
duplo db = 4.279;
const type_info & type_a = typeId (i+ch);
const type_info & type_b = typeId (i*fl);
const type_info & type_c = typeId (db*fl);
const type_info & type_d = typeId (i+db);
cout<<"expression i+ch : "<cout<<"\nexpression i*fl : "<cout<<"\nexpression db*fl : "<cout<<"\nexpression i+db : "<retornar 0;

No código acima, inicializamos quatro variáveis ​​de diferentes tipos de dados. Em seguida, avaliamos algumas expressões e calculamos seu tipo usando o C++ TIPOID() Operador.

Saída

Vantagens e desvantagens do tipoID em c++

O TIPOID é útil ao escrever código que funciona com objetos que não são conhecidos até o tempo de execução. Por exemplo, suponha que uma função pegue um ponteiro vazio como um parâmetro. Pode usar TIPOID para determinar se o ponteiro é para um int ou um duplo, o que pode afetar significativamente como a função deve operar.

Além do tipo-nome, o “typeInfo”Objeto também fornece vários outros detalhes sobre o tipo. Esses incluem:

  • Se o tipo é um tipo fundamental, um tipo de ponteiro ou um tipo definido pelo usuário.
  • Se o tipo é "const" ou "volátil".
  • Se o tipo é do tipo de classe e, se sim, se é polimórfico.
  • Se o tipo é um tipo de matriz e, se sim, quais são as dimensões.
  • Se o tipo é um tipo de referência.

O TIPOID também é útil ao lidar com modelos e funções que tomam um número variável de argumentos. Usando o “TIPOID”Operador, você pode executar ações específicas do tipo em tempo de execução, como escolher o modelo ou função certa para usar.

Uma possível desvantagem de TIPOID é isso é um pouco lento. É normalmente mais lento do que outros tipos de verificação de tipo, como parâmetros de modelo ou verificações do tipo de tempo de compilação, pois examina o tipo de objeto durante o tempo de execução.

Conclusão

O "TIPOID”O operador em C ++ fornece informações valiosas sobre o tipo de dados de uma variável ou um objeto. Ele permite que os programadores executem ações específicas do tipo em tempo de execução e possam ser usadas quando o operando atua como uma variável, ou quando o operando é uma expressão.