Como implementar melhor a conversão de tipo em C ++?



Este artigo irá apresentá-lo à conversão de tipo em C ++ e segui-lo com uma demonstração programática detalhada para o mesmo.

Este artigo irá apresentá-lo a outro tópico interessante que a conversão de tipo em C ++ e siga-o com uma demonstração prática detalhada. As dicas a seguir serão abordadas neste artigo,

Então, vamos começar,





Conversão de tipo em C ++

Conversão de tipo refere-se à conversão de um tipo para outro. A ideia principal por trás da conversão de tipo é tornar a variável de um tipo compatível com a variável de outro tipo para realizar uma operação. Por exemplo, para encontrar a soma de duas variáveis, uma do tipo int e outra do tipo float. Portanto, você precisa digitar cast int variable para float para torná-los do tipo float para encontrar a soma. Neste blog aprenderemos como realizar a conversão de tipo em C ++.

Em C ++, existem dois tipos de conversão de tipo, ou seja, conversão de tipo implícita e conversão de tipo explícita.



Conversão de tipo implícita

A conversão implícita de tipo ou conversão automática de tipo é feita pelo próprio compilador. Não há um gatilho externo exigido pelo usuário para fazer o typecast de uma variável de um tipo para outro.

Isso ocorre quando uma expressão contém variáveis ​​de mais de um tipo. Portanto, nesses cenários, a conversão automática de tipo ocorre para evitar a perda de dados.Na conversão automática de tipo, todos os tipos de dados presentes na expressão são convertidos para o tipo de dados da variável com o maior tipo de dados.

Abaixo está a ordem da conversão automática de tipo. Você também pode dizer do menor para o maior tipo de dados para conversão de tipo.



bool -> char -> short int -> int -> unsigned int -> long -> unsigned -> long long -> float -> double -> long double

Conversões implícitas podem perder informações, como sinais podem ser perdidos quando o tipo assinado é convertido implicitamente em tipo não assinado e pode ocorrer estouro quando long é implicitamente convertido em flutuante.

Agora vamos ver um exemplo para entender como a conversão implícita de tipo funciona em C ++.

Exemplo

#include usando namespace std int main () 12w {int int1 = 100 // inteiro int1 char1 = 'c' // caractere char1 // char1 implicitamente convertido em int usando o valor ASCII de 'c', ou seja, 99 int1 = int1 + char1 // int1 é implicitamente convertido em float float flt1 = int1 + 2.7 cout<< 'int1 = ' << int1 << endl << 'char1 = ' << char1 << endl << 'flt1 = ' << flt1 << endl return 0 }

Resultado

int1 = 199

char1 = c

flt1 = 201,7

tutorial de mvc da primavera para iniciantes

Em seguida, neste artigo de conversão de tipo em C ++,

Conversão de tipo explícito

A conversão explícita de tipo ou conversão de tipo é a conversão de tipo definida pelo usuário. Na conversão explícita de tipo, o usuário converte um tipo de variável em outro tipo. A conversão explícita de tipo pode ser feita de duas maneiras em C ++:

  • Convertendo por tarefa
  • Conversão usando o operador Cast

Agora, vamos examinar cada uma das maneiras de explicitar a conversão de um tipo para outro.

Convertendo por tarefa

Nesta conversão de tipo, o tipo necessário é definido explicitamente na frente da expressão entre parênteses. A perda de dados ocorre na conversão de tipo explícito. É considerado um lançamento forçado. Vejamos um exemplo.

Exemplo

#include using namespace std int main () {double dbl1 = 8,9 // Conversão explícita de double para int int res = (int) dbl1 + 1 cout<< 'Result = ' << res return 0 }

Resultado

como aumentar a potência em java

Resultado = 9

Em seguida, neste artigo de conversão de tipo em C ++,

Conversão usando o operador de elenco

Operador de conversão é um operador unário que força um tipo de dados a ser convertido em outro tipo de dados. Existem quatro tipos de fundição em C ++, ou seja, Cast estático, Cast dinâmico, Cast Const e Reinterpret Cast.

  • Elenco estático - Este é o tipo de molde mais simples que pode ser usado. Ele não apenas realiza upcasts, mas também downcasts. É um elenco de tempo de compilação. As verificações não são executadas durante o tempo de execução para garantir que um objeto sendo convertido seja um objeto completo do tipo de destino.
  • Elenco Dinâmico - Garante que um resultado da conversão de tipo aponta para o objeto válido e completo do tipo de ponteiro de destino.
  • Const Cast - manipula se o objeto precisa ser constante ou não constante. Ele garante que a constante precisa ser definida ou removida.
  • Reinterpretar Elenco - converte qualquer tipo de ponteiro em qualquer outro tipo de ponteiro, mesmo de classes não relacionadas. Ele não verifica se o tipo de ponteiro e os dados apontados por ele são iguais ou não.

Vejamos um exemplo de elenco estático,

Exemplo

#include usando namespace std int main () {float flt = 30.11 // usando operador de conversão int int1 = static_cast (flt) cout< 

Resultado

30

Isso nos leva ao final deste artigo sobre conversão de tipo em C ++.Espero que você tenha achado isso informativo e útil. Fique ligado para mais tutoriais sobre tópicos semelhantes. Você também pode verificar nosso programa de treinamento tpara obter conhecimento aprofundado sobre jQuery, juntamente com seus vários aplicativos, você pode para treinamento online ao vivo com suporte 24 horas por dia, 7 dias por semana e acesso vitalício.

Tem alguma questão para nós? Mencione-os na seção de comentários deste artigo e entraremos em contato com você.