Static_cast c ++

Static_cast c ++
Neste artigo, discutiremos o conceito de elenco estático na linguagem de programação C ++. Para começar com esse conceito, devemos saber sobre o conceito de elenco e seu tipo. Em palavras simples, o elenco está alterando o tipo de dados de uma variável em outro. Existem dois tipos de fundição na linguagem de programação C ++, é o elenco implícito, e o segundo é o elenco explícito.

Tipo fundindo em C ++:

Na linguagem de programação C ++, existem duas formas de conversão de fundição ou tipo: que são:

  1. Fundição do tipo implícito.
  2. Fundição do tipo explícito.
  3. Fundição de tipo implícito:

A fundição do tipo implícita também é chamada de conversão do tipo automatizado. Isso é feito pelo compilador na compilação real de tempo de execução e não requer entrada ou ação do usuário. Esse tipo de fundição acontece quando dois tipos de tipos de dados estão presentes em uma expressão. Por exemplo:

int k = 8;
char alph = "u";
k = k + alph;

Este é um exemplo perfeito de conversão de tipo implícita ou automatizada. O compilador converte automaticamente o tipo de dados da variável de caractere em um tipo de dados inteiro, girando -o no tempo de execução para o valor padrão ASCII do alfabeto.

Fundição do tipo explícito:

O tipo explícito de fundição ou conversão do tipo não é a conversão do tipo automatizado; O usuário precisa fazer isso por conta própria no código para converter o tipo de dados de uma variável em tipo de dados de outra variável. Portanto, o tipo explícito de fundição ou conversão de tipo geralmente é feito quando um tipo de dados de pedido menor é usado para manter qualquer informação; No entanto, ele deve ser transformado em um tipo de dados mais alto para evitar a perda de dados e armazenar mais dados. A conversão por atribuição é feita em uma expressão no código, e a maneira de escrever esta expressão é mostrada abaixo:

# (tipo de dados) expressão

Agora, veremos os diferentes tipos de conversões que os operadores de elenco na linguagem de programação C ++ podem fazer. Os operadores de elenco, também conhecidos como operadores unários, obritam o tipo de dados de uma variável para fazer a transição de um tipo para outro. Os operadores de elenco podem fazer quatro tipos diferentes de fundição: elenco estático, elenco dinâmico, reinterprete o elenco e o elenco const.

Operador de elenco estático em C ++:

O elenco estático é geralmente usado quando precisamos converter a variável enum em flutuadores, inteiros ou variáveis ​​de tipo de dados duplo na linguagem de programação C ++. Também é usado quando precisamos alterar uma variável de ponteiro de uma classe base para um ponteiro em uma classe derivada.

No método de elenco estático, não há verificação durante o tempo de execução de um programa para o tipo de fundição em comparação com o fundamento do tipo dinâmico. A sintaxe usada para executar uma conversão de fundição estática na linguagem de programação C ++ está escrita abaixo:

# static_cast (objeto);

Na expressão acima, escrevemos o tipo de dados no qual queremos converter nossa variável entre os colchetes do ângulo e, no suporte redondo, escrevemos o nome da variável ou o nome do ponteiro, cujo tipo de dados deve ser convertido.

Convertendo o tipo de dados da variável float em um número inteiro usando o método de elenco estático no Ubuntu 20.04:

No programa C ++, às vezes enfrentamos uma situação em que precisamos alterar um tipo de dados variável explicitamente, por isso devemos usar o método de elenco estático. Para implementar este conceito no Ubuntu 20.04, abra o terminal, vá para o diretório da área de trabalho escrevendo "CD Desktop" e depois faça um .Arquivo CPP executando o comando "toque" com o nome do arquivo e extensão de .cpp. Em seguida, localize e abra seu .Arquivo CPP na área de trabalho

Adicionamos uma biblioteca do iostream para executar operações de entrada e saída. Depois disso, declaramos o namespace std. Em seguida, iniciamos nossa principal função com o tipo de dados inteiro. Dentro da nossa função principal, temos uma variável "f" com um tipo de dados float e atribuímos o valor de "3.5 ”para isso. Em seguida, temos outra variável, "B" com o tipo de dados inteiro. E passou um elenco estático para o valor da variável "f". Em seguida, imprimimos a variável "b" usando o cout.

O código acima deve ser salvo; Clique no botão Salvar alocado na barra de navegação superior do arquivo. Em seguida, vá para o seu terminal novamente, compile o arquivo e execute -o se não houver erros usando os seguintes comandos, respectivamente, “Nome do arquivo G ++” com sua extensão de arquivo que é “.CPP "e"./”Para executar o nome de arquivo legível que possui o“.fora ”como sua extensão.

Como você pode ver no resultado acima, convertemos com sucesso a variável float na variável do tipo de dados inteiro. A saída mostra que apenas o número é uma variável inteira antes que o ponto decimal seja impresso. Também podemos trocar o tipo de dados um do outro, pois a variável float a ser convertida em número inteiro será vice.

Converter o tipo de dados de uma variável inteira em flutuação usando o método de fundição estática:

Agora, inverteremos a conversão que realizamos no exemplo acima; Seguiremos as etapas semelhantes do exemplo anterior, como mostrado abaixo:

No código acima, inicializamos uma variável inteira "i" e atribuímos o valor de "4". Em seguida, temos outra variável "a" com o tipo de dados float e depois convertemos seu tipo de dados para flutuar, e depois o imprimimos na saída usando a instrução Cout. Depois de compilar e executar o código acima, a saída será exibida como:

Conversamos a variável inteira em uma variável de flutuação, pois o compilador não mostra nenhum erro. No entanto, ainda há alguma perda de dados, pois o número inteiro é um tipo de dados de ordem inferior, enquanto o tipo de dados float é de ordem superior.

Usando elenco estático para dividir dois números inteiros sem perda de dados:

Neste exemplo, estaremos dividindo dois números inteiros, convertendo -os em uma variável flutuante para salvar os dados que um número inteiro não pode segurar. Para fazer isso, executaremos o seguinte código em que inicializaremos dois números inteiros chamados "i" e "k" com um valor de "41" e "2". Em seguida, temos outra variável com um tipo de dados flutuante intitulado como "a" e convertido em uma variável float e dividi -la pela outra variável inteira. Então, para que a saída seja exibida na tela, usamos a instrução Cout.

Depois de compilar o código no exemplo acima e executá -lo, obteremos a seguinte saída:

A saída acima explica que dividimos a variável inteira. Ainda assim, antes de dividir, convertemos a variável inteira para flutuar o tipo de dados e usamos o operador de fundição estática na expressão para dividi -la também. O resultado mostra um número com o ponto decimal, pois agora é uma variável float e pode armazenar números após o ponto decimal.

Conclusão:

Neste artigo, conhecemos o mecanismo de fundição de tipo na linguagem de programação C ++. Muitos tipos de elenco também foram explorados em profundidade, concentrando-se no motivo pelo qual utilizamos esses métodos na programação C ++. Também implementamos o conceito de fundição estática usando o operador de fundição estática em uma expressão na linguagem de programação C ++ no Ubuntu 20.04 Ambiente.