I denne opplæringen vil vi lære om det grunnleggende om C ++ type konvertering ved hjelp av eksempler.
C ++ lar oss konvertere data av en type til den for en annen. Dette er kjent som typekonvertering.
Det er to typer typekonvertering i C ++.
- Implisitt konvertering
- Eksplisitt konvertering (også kjent som Type Casting)
Implisitt type konvertering
Typekonvertering som gjøres automatisk av kompilatoren er kjent som implisitt typekonvertering. Denne typen konvertering er også kjent som automatisk konvertering.
La oss se på to eksempler på implisitt 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; )
Produksjon
num_int = 9 num_double = 9
I programmet har vi tilordnet en int
data til en double
variabel.
num_double = num_int;
Her blir int
verdien automatisk konvertert til double
av kompilatoren før den tildeles variabelen num_double. Dette er et eksempel på implisitt konvertering av typen.
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; )
Produksjon
num_int = 9 num_double = 9.99
I programmet har vi tilordnet en double
data til en int
variabel.
num_double = num_int;
Her blir double
verdien automatisk konvertert til int
av kompilatoren før den tildeles variabelen num_int. Dette er også et eksempel på implisitt type konvertering.
Merk: Siden det int
ikke kan ha en desimaldel, blir sifrene etter desimalpunktet avkortet i eksemplet ovenfor.
Datatap under konvertering (begrenset konvertering)
Som vi har sett fra eksemplet ovenfor, er konvertering fra en datatype til en annen utsatt for tap av data. Dette skjer når data av større type konverteres til data av mindre type.

C ++ eksplisitt konvertering
Når brukeren endrer data manuelt fra en type til en annen, er dette kjent som eksplisitt konvertering . Denne typen konvertering er også kjent som type casting .
Det er tre hovedmåter vi kan bruke eksplisitt konvertering i C ++. De er:
- Støping av C-stil (også kjent som rollebesetning )
- Funksjonsnotasjon (også kjent som gammel C ++ stil type casting )
- Skriv konverteringsoperatører
C-stil Type støping
Som navnet antyder, er denne type casting foretrekkes av programmeringsspråket C . Det er også kjent som rollebesetning .
Syntaksen for denne stilen 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;
Funksjonsstøping
Vi kan også bruke funksjonen som notasjon til å kaste data fra en type til en annen.
Syntaksen for denne stilen 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øping
#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; )
Produksjon
num_double = 3.56 num_int1 = 3 num_int2 = 3
Vi brukte både C-stilkonvertering og funksjonstil-casting for typekonvertering og viste resultatene. Siden de utfører samme oppgave, gir begge oss samme utgang.
Skriv konverteringsoperatører
Foruten disse to typene støpegods, har C ++ også fire operatører for typekonvertering. De er kjent som typekonverteringsoperatører . De er:
static_cast
dynamic_cast
const_cast
reinterpret_cast
Vi vil lære om disse rollebesetningene i senere opplæringsprogrammer.
Anbefalte opplæringsprogrammer:
- C ++ streng til int og omvendt
- C ++ streng for å flyte, doble og omvendt