C ++ tüüpi teisendamine

Selles õpetuses õpime näidete abil C ++ tüüpi teisendamise põhitõdesid.

C ++ võimaldab meil teisendada ühte tüüpi andmeid teisteks. Seda nimetatakse tüübi teisendamiseks.

C ++ keeles on kahte tüüpi tüübikonversioone.

  1. Kaudne teisendamine
  2. Selgesõnaline teisendamine (tuntud ka kui tüüpide ülekandmine)

Kaudne tüübikonversioon

Tüüpide teisendamine, mille kompilaator automaatselt teeb, on kaudne tüübikonversioon. Seda tüüpi teisendamist nimetatakse ka automaatseks teisendamiseks.

Vaatame kahte kaudse tüübi teisendamise näidet.

Näide 1: teisendamine int-st kahekordseks

 // 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; )

Väljund

 num_int = 9 num_double = 9

Programmis oleme määranud muutujale intandmed double.

 num_double = num_int;

Siin intteisendab väärtus doublekoostaja automaatselt väärtuseks, enne kui see määratakse muutujale num_double. See on kaudse tüübi teisendamise näide.

Näide 2: automaatne teisendamine topelt-int-le

 //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; )

Väljund

 num_int = 9 num_double = 9,99

Programmis oleme määranud muutujale doubleandmed int.

 num_double = num_int;

Siin doubleteisendab väärtus intkoostaja automaatselt väärtuseks, enne kui see määratakse muutujale num_int. See on ka näide kaudse tüübi teisendamisest.

Märkus. Kuna kümnendosa intei saa olla, kärbitakse ülaltoodud näites kümnendkoha järel olevad numbrid.

Andmete kadumine konversiooni ajal (konversiooni kitsendamine)

Nagu ülaltoodud näitest nägime, on ühelt andmetüübilt teisele teisendamine altid andmete kadumisele. See juhtub siis, kui suuremat tüüpi andmed teisendatakse väiksemat tüüpi andmeteks.

Võimalik andmekadu tüübi teisendamisel

C ++ selgesõnaline teisendamine

Kui kasutaja muudab andmeid käsitsi ühest tüübist teise, nimetatakse seda selgesõnaliseks teisendamiseks . Seda tüüpi teisendamist nimetatakse ka tüübi valamiseks .

Selgesõnalist teisendamist saab C ++ keeles kasutada kolmel peamisel viisil. Nemad on:

  1. C-stiilis casting (tuntud ka kui cast notation )
  2. Funktsioonide tähis (tuntud ka kui vana C ++ stiilis tüüpi ülekandmine )
  3. Tüübi teisendamise operaatorid

C-stiilis tüüpvalu

Nagu nimigi ütleb, eelistab seda tüüpi castingut C-programmeerimiskeel . Seda tuntakse ka kui valatud tähistust .

Selle stiili süntaks on järgmine:

 (data_type)expression;

Näiteks,

 // initializing int variable int num_int = 26; // declaring double variable double num_double; // converting from int to double num_double = (double)num_int;

Funktsioonistiilis casting

Andmete ühest tüübist teise ülekandmiseks võime kasutada ka sellist funktsiooni nagu märge.

Selle stiili süntaks on järgmine:

 data_type(expression);

Näiteks,

 // initializing int variable int num_int = 26; // declaring double variable double num_double; // converting from int to double num_double = double(num_int);

Näide 3: tüüp casting

 #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; )

Väljund

 num_double = 3.56 num_int1 = 3 num_int2 = 3

Kasutasime tüübi teisendamiseks nii C-stiili tüübi teisendamist kui ka funktsioonistiili ülekandmist ja kuvasime tulemused. Kuna nad täidavad sama ülesannet, annavad mõlemad meile sama väljundi.

Tüübi teisendamise operaatorid

Lisaks nendele kahele tüübivalule on C ++-l ka neli operaatorit tüüpi teisendamiseks. Neid tuntakse kui tüübi teisendamise operaatoreid . Nemad on:

  • static_cast
  • dynamic_cast
  • const_cast
  • reinterpret_cast

Nende näitlejate kohta saame teada hilisemates õpetustes.

Soovitatavad õpetused:

  • C ++ string int-le ja vastupidi
  • C ++ string ujukiks, topelt ja vastupidi

Huvitavad Artiklid...