C ++ type konvertering

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 ++.

  1. Implicit konvertering
  2. 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 intdata til en doublevariabel.

 num_double = num_int;

Her intkonverteres værdien automatisk til doubleaf 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 doubledata til en intvariabel.

 num_double = num_int;

Her doublekonverteres værdien automatisk til intaf compileren, før den tildeles variablen num_int. Dette er også et eksempel på implicit type konvertering.

Bemærk: Da det intikke 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.

Muligt datatab under typekonvertering

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:

  1. C-stil type casting (også kendt som cast notation )
  2. Funktionsnotation (også kendt som gammel C ++ stil type casting )
  3. 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

Interessante artikler...