¿Cómo implementar mejor la conversión de tipos en C ++?



Este artículo le presentará la conversión de tipos en C ++ y seguirá con una demostración programática detallada de la misma.

Este artículo le presentará otro tema interesante sobre el que escribe Conversión en C++ y sígalo con una demostración práctica detallada. En este artículo se cubrirán los siguientes consejos,

Así que comencemos entonces





Conversión de tipos en C ++

La conversión de tipo se refiere a la conversión de un tipo a otro. La idea principal detrás de la conversión de tipos es hacer que la variable de un tipo sea compatible con la variable de otro tipo para realizar una operación. Por ejemplo, para encontrar la suma de dos variables, una de tipo int y otra de tipo flotante. Por lo tanto, debe escribir cast int variable to float para que ambos sean de tipo flotante para encontrar la suma. En este blog aprenderemos cómo realizar la conversión de tipos en C ++.

En C ++, hay dos tipos de conversión de tipo, es decir, conversión de tipo implícita y conversión de tipo explícita.



Conversión de tipo implícita

La conversión de tipo implícita o la conversión de tipo automática la realiza el compilador por sí solo. No hay un disparador externo requerido por el usuario para encasillar una variable de un tipo a otro.

Esto ocurre cuando una expresión contiene variables de más de un tipo. Por lo tanto, en esos escenarios se lleva a cabo una conversión automática de tipos para evitar la pérdida de datos.En la conversión automática de tipos, todos los tipos de datos presentes en la expresión se convierten al tipo de datos de la variable con el tipo de datos más grande.

A continuación se muestra el orden de la conversión automática de tipos. También puede decir, del menor al mayor tipo de datos para la conversión de tipos.



cómo convertir un doble a un int en java

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

Las conversiones implícitas pueden perder información como, por ejemplo, los signos se pueden perder cuando el tipo firmado se convierte implícitamente en un tipo sin firmar y puede producirse un desbordamiento cuando long se convierte implícitamente en flotante.

Ahora veamos un ejemplo para comprender cómo funciona la conversión de tipos implícita en C ++.

Ejemplo

#incluir usando el espacio de nombres std int main () 12w {int int1 = 100 // integer int1 char char1 = 'c' // character char1 // char1 implícitamente convertido a int usando el valor ASCII de 'c' ie 99 int1 = int1 + char1 // int1 se convierte implícitamente en float float flt1 = int1 + 2.7 cout<< 'int1 = ' << int1 << endl << 'char1 = ' << char1 << endl << 'flt1 = ' << flt1 << endl return 0 }

Salida

int1 = 199

char1 = c

flt1 = 201,7

A continuación, en este artículo de conversión de tipos en C ++,

Conversión de tipo explícito

La conversión de tipo explícita o conversión de tipo es una conversión de tipo definida por el usuario. En la conversión de tipo explícita, el usuario convierte un tipo de variable en otro tipo. La conversión de tipos explícitos se puede realizar de dos formas en C ++:

  • Conversión por asignación
  • Conversión mediante el operador Cast

Ahora veamos cada una de las formas de convertir un tipo explícito de un tipo a otro.

Conversión por asignación

En esta conversión de tipo, el tipo requerido se define explícitamente delante de la expresión entre paréntesis. La pérdida de datos ocurre en la conversión de tipos explícitos. Se considera un casting contundente. Veamos un ejemplo.

Ejemplo

#include usando el espacio de nombres std int main () {double dbl1 = 8.9 // Conversión explícita de double a int int res = (int) dbl1 + 1 cout<< 'Result = ' << res return 0 }

Salida

Resultado = 9

A continuación, en este artículo de conversión de tipos en C ++,

Conversión mediante el operador de transmisión

El operador de conversión es un operador unario que obliga a que un tipo de datos se convierta en otro tipo de datos. Hay cuatro tipos de conversión en C ++, es decir, transmisión estática, transmisión dinámica, transmisión constante y transmisión reinterpretada.

  • Reparto estático Este es el tipo de yeso más simple que se puede utilizar. No solo realiza optimizaciones, sino también abatimientos. Es un elenco de tiempo de compilación. No se realizan comprobaciones durante el tiempo de ejecución para garantizar que un objeto que se está convirtiendo sea un objeto completo del tipo de destino.
  • Reparto dinámico - Asegura que un resultado de la conversión de tipo apunte al objeto completo válido del tipo de puntero de destino.
  • Const Cast - manipula si el objeto debe ser constante o no constante. Asegura que la constante debe establecerse o eliminarse.
  • Reinterpretar reparto convierte cualquier tipo de puntero en cualquier otro tipo de puntero, incluso de clases no relacionadas. No comprueba si el tipo de puntero y los datos apuntados por el puntero son iguales o no.

Veamos un ejemplo de transmisión estática,

Ejemplo

#incluir usando el espacio de nombres std int main () {float flt = 30.11 // usando el operador de conversión int int1 = static_cast (flt) cout< 

Salida

30

que es el acoplamiento en java

Esto nos lleva al final de este artículo sobre conversión de tipos en C ++.Espero que haya encontrado esto informativo y útil, permanezca atento a más tutoriales sobre temas similares. También puede consultar nuestro programa de capacitación tPara obtener un conocimiento profundo sobre jQuery junto con sus diversas aplicaciones, puede para capacitación en línea en vivo con soporte 24/7 y acceso de por vida.

Tienes una pregunta para nosotros? Menciónalos en la sección de comentarios de este artículo y nos comunicaremos contigo.