English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En este tutorial, aprenderemos C con ejemplos ++Conocimientos básicos de conversión de tipo
C ++Permite que convirtamos datos de un tipo a otro. Esto se llama conversión de tipo.
C ++Hay dos tipos de conversión de tipo.
Conversión implícita
Conversión explícita (también conocida como conversión de tipo forzado)
Conversión relacionada: convertir C ++Conversión de String a int C ++ Conversión de String a float / double
La conversión de tipo realizada automáticamente por el compilador se llama conversión implícita de tipo. Este tipo de conversión también se conoce comoConversión automática。
Vamos a ver dos ejemplos de conversión implícita de tipo.
// Cómo funciona la conversión implícita de tipo #include <iostream> usando el espacio de nombres std; int main() { // Asignar un valor de tipo int a num_int int num_int = 9; // Declarar una variable de tipo double double num_double; // Conversión implícita // Asignar un valor de tipo int a una variable de tipo double num_double = num_int; cout << "num_int = " << num_int << endl; cout << "num_double = " << num_double << endl; devolver 0; }
resultado de salida
num_int = 9 num_double = 9
En el programa, hemos asignado datos de tipo int a una variable de tipo double.
num_double = num_int;
Aquí, antes de asignar un valor de tipo int a la variable num_double, el compilador lo convierte automáticamente a double. Este es un ejemplo de conversión implícita de tipo.
//Cómo funciona la conversión implícita de tipo #include <iostream> usando el espacio de nombres std; int main() { int num_int; double num_double = 9.99; // Conversión implícita // Asignar un valor de tipo double a una variable de tipo int num_int = num_double; cout << "num_int = " << num_int << endl; cout << "num_double = " << num_double << endl; devolver 0; }
resultado de salida
num_int = 9 num_double = 9.99
En el programa, hemos asignado datos de tipo double a una variable de tipo int.
num_double = num_int;
Aquí, antes de asignar el valor de double a la variable num_int, el compilador lo convertirá automáticamente a int. Esto también es un ejemplo de conversión implícita de tipo.
Nota:debido a que int no puede tener parte fraccionaria, por lo que en el ejemplo anterior, los números después del punto decimal se truncaron.
como se puede ver en el ejemplo anterior, la conversión de un tipo de datos a otro tipo de datos es fácil de causar pérdida de datos. Esto ocurre cuando los datos de tipo más grande se convierten a datos de tipo más pequeño.
cuando el usuario cambia manualmente los datos de un tipo a otro, se llamaconversión explícita。Este tipo de conversión también se llamaconversión de tipo forzado。
Podemos usar tres métodos principales en C ++se utiliza explícitamente en la conversión. Son:
conversión de tipo forzada de estilo C (también conocida como símbolo de conversión forzada)
representación de función (también conocida como antiguo c++de estilo de conversión de tipo)
Operadores de conversión de tipo
como se dice, este tipo de conversión está sujeto ala conversión de estilo de C del lenguaje de programación Ctambién conocida comorepresentación de conversión forzada。
La sintaxis de este estilo es:
(data_type)expression;
por ejemplo,
// inicialización de variable int int num_int = 26; // declaración de variable double double num_double; // conversión de int a double num_double = (double)num_int;
También podemos usar funciones con similitudes para convertir datos de un tipo a otro。
la sintaxis de este tipo es:
data_type(expression);
por ejemplo,
// inicialización de variable int int num_int = 26; // declaración de variable double double num_double; // conversión de int a double num_double = double(num_int);
#include <iostream> usando el espacio de nombres std; int main() { // inicialización de variable double double num_double = 3.56; cout << "num_double = " << num_double << endl; // conversión de estilo C de double a int int num_int1 = (int)num_double; cout << "num_int1 = " << num_int1 << endl; // estilo de función de conversión de double a int int num_int2 = int(num_double); cout << "num_int2 = " << num_int2 << endl; devolver 0; }
resultado de salida
num_double = 3.56 .1 num_int 3 .2 num_int 3
=UsamosConversión de estilo CyConversión de estilo de función para realizar conversión de tipo,
Y muestra los resultados. Debido a que realizan la misma tarea, ambos nos dan la misma salida. ++Además de estos dos operadores de conversión de tipo, COperadores de conversión de tipoSon:
static_cast
dynamic_cast
const_cast
reinterpret_cast
Entenderemos estas conversiones forzadas en futuros tutoriales.