English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste tutorial, vamos aprender C ++Fundamentos da conversão de tipo
Operadores ++Permite-nos converter dados de um tipo para outro. Isso é conhecido como conversão de tipo.
Operadores ++Existem dois tipos de conversões de tipo.
Conversão implícita
Conversão explícita (também conhecida como conversão de tipo forçada)
Conversões relacionadas: converter Operadores ++Conversão de String para int Operadores ++ Conversão de String para float / double
A conversão de tipo feita automaticamente pelo compilador é chamada de conversão implícita. Este tipo de conversão também é conhecido comoConversão automática。
Vamos ver dois exemplos de conversão implícita de tipo
// Como funciona a conversão implícita de tipo #include <iostream> using namespace std; int main() { // Atribuir um valor int a num_int int num_int = 9; // Declarar uma variável double double num_double; // Conversão implícita // Atribuir um valor int a uma variável double num_double = num_int; No translation needed as it's a placeholder. cout << "num_double = " << num_double << endl; return 0; }
resultado de saída
No translation needed as it's a placeholder. 9 num_double = 9
No programa, já atribuímos dados int a uma variável double.
num_double = num_int;
Aqui, antes de atribuir um valor int à variável num_double, ela será automaticamente convertida para double pelo compilador. Este é um exemplo de conversão implícita de tipo.
//Como funciona a conversão implícita de tipo #include <iostream> using namespace std; int main() { int num_int; double num_double = 9.99; // Conversão implícita // Atribuir um valor double a uma variável int. No translation needed as it's a placeholder. No translation needed as it's a placeholder. cout << "num_double = " << num_double << endl; return 0; }
resultado de saída
No translation needed as it's a placeholder. 9 num_double = 9.99
No translation needed as it's a placeholder.
num_double = num_int;
num_double = num_int;
aqui, antes de atribuir o valor double ao variável num_int, o compilador converte automaticamente. Isso é um exemplo de conversão implícita de tipo.note:
perda de dados durante a conversão (conversão de estreito)
perda de dados pode ocorrer durante a conversão de tipoquando o usuário muda manualmente os dados de um tipo para outro tipo, isso é conhecido comoconversão explícitaconversão de tipo forçada。
podemos usar três métodos principais no C ++usado explicitamente. Eles são:
conversão de tipo do tipo C (também conhecido como sinal de conversão)
representação de função (também conhecido como antigo c++estilo de conversão de tipo)
Também têm quatro operadores para conversão de tipo. Eles são chamados
por nome, esse tipo de conversão é afetadodo linguagem de programação Cé também conhecida comorepresentação de conversão forçada。
essa sintaxe é:
(data_type)expression;
por exemplo,
// inicialização de variável int int num_int = 26; // declaração de variável double double num_double; // conversão de int para double num_double = (double)num_int;
também podemos usar funções semelhantes para converter dados de um tipo para outro tipo.
essa sintaxe é:
data_type(expression);
por exemplo,
// inicialização de variável int int num_int = 26; // declaração de variável double double num_double; // conversão de int para double num_double = double(num_int);
#include <iostream> using namespace std; int main() { // inicialização de variável double double num_double = 3.56; cout << "num_double = " << num_double << endl; // conversão de estilo C de double para int int num_int1 = (int)num_double; cout << "num_int1 = " << num_int1 << endl; // estilo de conversão de função de double para int int num_int2 = int(num_double); cout << "num_int2 = " << num_int2 << endl; return 0; }
resultado de saída
num_double = 3.56 .1 num_int 3 .2 num_int 3
=UsamosConversão de Estilo CeConversão de Estilo de Função para Conversão de Tipo
e exibir o resultado. Devido a eles executarem a mesma tarefa, ambos nos dão a mesma saída. ++Além dessas conversões de tipo, CTambém têm quatro operadores para conversão de tipo. Eles são chamadosOperadores de Conversão de Tipo
Eles são:
static_cast
dynamic_cast
const_cast
reinterpret_cast