Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Conversão Explícita de Tipo | Outros Tipos de Dados e Conceitos
Tipos de Dados em C++

bookConversão Explícita de Tipo

Deslize para mostrar o menu

Ao lidar com variáveis do tipo int, em vez de apenas números no código, é necessário converter o valor de uma variável para double ou float. Isso pode ser realizado utilizando a seguinte sintaxe:

main.cpp

main.cpp

copy
12345678910
#include <iostream> int main() { int num1 = 9; int num2 = 4; std::cout << "No conversion: " << num1 / num2 << std::endl; std::cout << "With conversion: " << (double)num1 / num2 << std::endl; }

Existem várias maneiras de realizar a conversão de tipo explicitamente. Esta é chamada de conversão no estilo C:

main.cpp

main.cpp

copy
123456789101112
#include <iostream> int main() { float num = 6.5; std::cout << (int)num << std::endl; // 6.5 to `int` is 6 std::cout << (bool)num << std::endl; // 6.5 to `bool` is true // Or std::cout << int(num) << std::endl; // 6.5 to `int` is 6 std::cout << bool(num) << std::endl; // 6.5 to `bool` is true }

Embora essa abordagem seja concisa, ela não indica claramente a intenção ou a natureza da conversão, o que pode levar a ambiguidades e possíveis usos indevidos.

Existem operadores de conversão mais explícitos e seguros para fornecer melhor controle sobre as conversões de tipo.

Na maioria das vezes, apenas uma static_conversion é necessária. Não discutiremos outros casts em detalhes. Veja a sintaxe:

main.cpp

main.cpp

copy
12345678
#include <iostream> int main() { float num = 6.5; std::cout << static_cast<int>(num) << std::endl; // 6.5 to `int` is 6 std::cout << static_cast<bool>(num) << std::endl; // 6.5 to `bool` is true }

Não abordaremos a diferença entre todos eles. Em geral, static_cast é preferível, pois é mais restritivo e pode evitar comportamentos inesperados com tipos de dados complexos.

question mark

Selecione todas as formas corretas de realizar a conversão de tipo.

Select all correct answers

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 7

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Seção 4. Capítulo 7
some-alt