I denne vejledning lærer vi om det grundlæggende i C ++ konvertering ved hjælp af eksempler.
C ++ giver os mulighed for at konvertere data af en type til en anden. Dette er kendt som typekonvertering.
Der er to typer typekonvertering i C ++.
- Implicit konvertering
- Eksplicit konvertering (også kendt som Type Casting)
Implicit type konvertering
Den typekonvertering, der udføres automatisk af compileren, er kendt som implicit typekonvertering. Denne type konvertering kaldes også automatisk konvertering.
Lad os se på to eksempler på implicit typekonvertering.
Eksempel 1: Konvertering fra int til dobbelt
// Working of implicit type-conversion #include using namespace std; int main() ( // assigning an int value to num_int int num_int = 9; // declaring a double type variable double num_double; // implicit conversion // assigning int value to a double variable num_double = num_int; cout << "num_int = " << num_int << endl; cout << "num_double = " << num_double << endl; return 0; )
Produktion
num_int = 9 num_double = 9
I programmet har vi tildelt en int
data til en double
variabel.
num_double = num_int;
Her int
konverteres værdien automatisk til double
af compileren, før den tildeles variablen num_double. Dette er et eksempel på implicit type konvertering.
Eksempel 2: Automatisk konvertering fra dobbelt til int
//Working of Implicit type-conversion #include using namespace std; int main() ( int num_int; double num_double = 9.99; // implicit conversion // assigning a double value to an int variable num_int = num_double; cout << "num_int = " << num_int << endl; cout << "num_double = " << num_double << endl; return 0; )
Produktion
num_int = 9 num_double = 9.99
I programmet har vi tildelt en double
data til en int
variabel.
num_double = num_int;
Her double
konverteres værdien automatisk til int
af compileren, før den tildeles variablen num_int. Dette er også et eksempel på implicit type konvertering.
Bemærk: Da det int
ikke kan have en decimaldel, afkortes cifrene efter decimaltegnet i ovenstående eksempel.
Datatab under konvertering (indsnævring af konvertering)
Som vi har set fra ovenstående eksempel, er konvertering fra en datatype til en anden tilbøjelig til datatab. Dette sker, når data af en større type konverteres til data af en mindre type.

C ++ eksplicit konvertering
Når brugeren manuelt skifter data fra en type til en anden, kaldes dette eksplicit konvertering . Denne type konvertering kaldes også type casting .
Der er tre vigtige måder, hvorpå vi kan bruge eksplicit konvertering i C ++. De er:
- C-stil type casting (også kendt som cast notation )
- Funktionsnotation (også kendt som gammel C ++ stil type casting )
- Skriv konverteringsoperatører
C-stil Type støbning
Som navnet antyder, er denne form for støbning begunstiget af sproget C programmering . Det er også kendt som cast notation .
Syntaksen for denne stil er:
(data_type)expression;
For eksempel,
// initializing int variable int num_int = 26; // declaring double variable double num_double; // converting from int to double num_double = (double)num_int;
Funktions-stil støbning
Vi kan også bruge funktionen som notation til at caste data fra en type til en anden.
Syntaksen for denne stil er:
data_type(expression);
For eksempel,
// initializing int variable int num_int = 26; // declaring double variable double num_double; // converting from int to double num_double = double(num_int);
Eksempel 3: Type støbning
#include using namespace std; int main() ( // initializing a double variable double num_double = 3.56; cout << "num_double = " << num_double << endl; // C-style conversion from double to int int num_int1 = (int)num_double; cout << "num_int1 = " << num_int1 << endl; // function-style conversion from double to int int num_int2 = int(num_double); cout << "num_int2 = " << num_int2 << endl; return 0; )
Produktion
num_double = 3.56 num_int1 = 3 num_int2 = 3
Vi brugte både C-typetypekonvertering og funktionstypestøbning til typekonvertering og viste resultaterne. Da de udfører den samme opgave, giver begge os den samme output.
Skriv konverteringsoperatører
Udover disse to type støbegods har C ++ også fire operatorer til typekonvertering. De er kendt som typekonverteringsoperatører . De er:
static_cast
dynamic_cast
const_cast
reinterpret_cast
Vi lærer om disse rollebesætninger i senere tutorials.
Anbefalede tutorials:
- C ++ streng til int og omvendt
- C ++ streng for at flyde, dobbelt og omvendt