English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dans ce tutoriel, nous allons apprendre C en utilisant des exemples ++Connaissances de base sur les conversions de type
C ++Permet de convertir des données d'un type en données d'un autre type. Cela s'appelle une conversion de type.
C ++Il y a deux types de conversions de type.
Conversion implicite
Conversion explicite (également appelée conversion de type force)
Conversions associées : convertir C ++Conversion de chaîne en int C ++ Conversion de String en float / double
La conversion de type effectuée automatiquement par le compilateur s'appelle une conversion implicite. Ce type de conversion est également appeléConversion automatique。
Laissez-nous voir deux exemples de conversion implicite de type.
// Comment fonctionne la conversion implicite de type #include <iostream> using namespace std; int main() { // Allouer une valeur int à num_int int num_int = 9; // Déclarer une variable double double num_double; // Conversion implicite // Affecter une valeur int à une variable double num_double = num_int; cout << "num_int = " << num_int << endl; cout << "num_double = " << num_double << endl; return 0; }
résultat de sortie
num_int = 9 num_double = 9
Dans le programme, nous avons alloué des données int à une variable double.
num_double = num_int;
Ici, avant d'affecter une valeur int à la variable num_double, elle sera automatiquement convertie en double par le compilateur. C'est un exemple de conversion implicite de type.
//Comment fonctionne la conversion implicite de type #include <iostream> using namespace std; int main() { int num_int; double num_double = 9.99; // Conversion implicite // Affecter une valeur double à une variable int num_int = num_double; cout << "num_int = " << num_int << endl; cout << "num_double = " << num_double << endl; return 0; }
résultat de sortie
num_int = 9 num_double = 9.99
Dans le programme, nous avons alloué des données double à une variable int.
num_double = num_int;
ici, avant de distribuer la valeur double à la variable num_int, le compilateur convertit automatiquement en int. C'est également un exemple de conversion de type implicite.
attention:parce que int ne peut pas avoir de partie décimale, dans l'exemple ci-dessus, les nombres après la virgule ont été tronqués.
comme nous pouvons le voir dans les exemples ci-dessus, la conversion d'un type de données en un autre type de données peut facilement entraîner une perte de données. Cela se produit lorsque les données de type plus grand sont converties en données de type plus petit.
quand l'utilisateur change manuellement les données d'un type à un autre type, cela s'appelleconversion explicitece type de conversion est également appelé。。
conversion de type forcé ++Nous pouvons utiliser trois méthodes principales pour convertir explicitement un type en C
dans l'utilisation explicite de la conversion. Ils sont les suivants:
notation de conversion de type (également appelé ancien symbole de conversion)++de type conversion (également appelé ancien style c)
Opérateurs de conversion de type
comme son nom l'indique, ce type de conversion estconversion de style C du langage Cconnu également sous le nom denotation de conversion explicite。
La syntaxe de ce style est:
(data_type)expression;
par exemple,
// initialisation de la variable int int num_int = 26; // déclaration de la variable double double num_double; // conversion de int en double num_double = (double)num_int;
Nous pouvons également utiliser des fonctions similaires pour convertir les données d'un type à un autre type.
la syntaxe de ce type est:
data_type(expression);
par exemple,
// initialisation de la variable int int num_int = 26; // déclaration de la variable double double num_double; // conversion de int en double num_double = double(num_int);
#include <iostream> using namespace std; int main() { // initialisation de la variable double double num_double = 3.56; cout << "num_double = " << num_double << endl; // conversion de style C de double à int int num_int1 = (int)num_double; cout << "num_int1 = " << num_int1 << endl; // style de conversion de fonction de double à int int num_int2 = int(num_double); cout << "num_int2 = " << num_int2 << endl; return 0; }
résultat de sortie
num_double = 3.56 num_int1 = 3 num_int2 = 3
Nous utilisonsConversion de type C styleetLe style de conversion de fonction est utilisé pour la conversion de type,Et affichez le résultat. Comme ils exécutent la même tâche, ils nous donnent le même résultat.
En plus de ces deux conversions de type, C ++Il existe également quatre opérateurs pour la conversion de type. Ils sont appelésOpérateurs de conversion de typeIls sont :
static_cast
dynamic_cast
const_cast
reinterpret_cast
Nous en apprendrons davantage sur ces conversions obligatoires dans les prochaines leçons.