Kako najbolje uporabiti pretvorbo tipov v C ++?



Ta članek vas bo seznanil s pretvorbo tipov v jeziku C ++ in nadaljeval s podrobnimi programskimi predstavitvami istega.

Ta članek vam bo predstavil še eno zanimivo temo, ki pretvarja vrste C ++ in mu sledite s podrobnimi praktičnimi demonstracijami. V tem članku bodo zajeti naslednji napotki:

Začnimo torej,





Pretvorba tipa v C ++

Pretvorba tipa se nanaša na pretvorbo iz ene vrste v drugo. Glavna ideja pretvorbe tipa je, da spremenljivko ene vrste združimo s spremenljivko druge vrste za izvedbo operacije. Na primer, če želite poiskati vsoto dveh spremenljivk, ene vrste int in druge vrste float. Torej, morate vtipkati spremenljivko cast int, da plavate, da bosta oba plavajoča za iskanje vsote. V tem blogu bomo izvedeli, kako izvesti pretvorbo tipa v jeziku C ++.

V jeziku C ++ obstajata dve vrsti pretvorbe tipa, to je implicitna pretvorba tipa in eksplicitna pretvorba tipa.



Implicitna pretvorba tipa

Implicitna pretvorba tipa ali samodejna pretvorba tipa opravi prevajalnik sam. Uporabnik ne potrebuje nobenega zunanjega sprožilca za vnašanje spremenljivke iz ene vrste v drugo.

To se zgodi, če izraz vsebuje spremenljivke več kot enega tipa. Torej v teh scenarijih poteka samodejna pretvorba tipa, da se prepreči izguba podatkov.Pri samodejni pretvorbi tipa se vsi tipi podatkov, prisotni v izrazu, pretvorijo v podatkovni tip spremenljivke z največjim podatkovnim tipom.

Spodaj je vrstni red samodejne pretvorbe tipa. Lahko tudi rečete, najmanjši do največji tip podatkov za pretvorbo tipa.



hash map vs hash table

bool -> char -> short int -> int -> unsigned int -> long -> unsigned -> long long -> float -> double -> long double

Implicitne pretvorbe lahko izgubijo informacije, na primer znaki se lahko izgubijo, če je podpisani tip implicitno pretvorjen v nepodpisan tip in lahko pride do prelivanja, ko je long implicitno pretvorjen v float.

Zdaj pa si oglejmo primer, da bi razumeli, kako implicitna pretvorba tipa deluje v jeziku C ++.

Primer

#include z uporabo imenskega prostora std int main () 12w {int int1 = 100 // celo število int1 char char1 = 'c' // znak char1 // char1 implicitno pretvorjen v int z uporabo ASCII vrednosti 'c' tj 99 int1 = int1 + char1 // int1 se implicitno pretvori v float float flt1 = int1 + 2.7 cout<< 'int1 = ' << int1 << endl << 'char1 = ' << char1 << endl << 'flt1 = ' << flt1 << endl return 0 }

Izhod

int1 = 199

char1 = c

flt1 = 201,7

Naslednje v tej pretvorbi tipa v članku C ++,

Izrecna pretvorba tipa

Izrecna pretvorba tipa ali ulivanje vrst je uporabniško določena pretvorba tipa. Pri eksplicitni pretvorbi tipa uporabnik pretvori eno vrsto spremenljivke v drugo vrsto. Izrecno pretvorbo tipa lahko v C ++ izvedete na dva načina:

  • Pretvorba po dodelitvi
  • Pretvorba z uporabo operaterja Cast

Zdaj pa si oglejmo vsakega od načinov, kako eksplicitno vtipkati eno vrsto v drugo.

Pretvorba po dodelitvi

Pri tej pretvorbi tipa je zahtevani tip izrecno opredeljen pred izrazom v oklepaju. Izguba podatkov se zgodi pri eksplicitnem ulivanju. Šteje se za prisilno ulivanje. Oglejmo si primer.

Primer

#include using namespace std int main () {double dbl1 = 8.9 // eksplicitna pretvorba iz double v int int res = (int) dbl1 + 1 cout<< 'Result = ' << res return 0 }

Izhod

Rezultat = 9

Naslednje v tej pretvorbi tipa v članku C ++,

Pretvorba z uporabo Cast Operatorja

Operator za predvajanje je unarni operater, ki prisili pretvorbo enega podatkovnega tipa v drugega. Obstajajo štiri vrste ulitkov v jeziku C ++, in sicer Static Cast, Dynamic Cast, Const Cast in Reinterpret Cast.

  • Statična igralska zasedba - To je najpreprostejša vrsta zasedbe, ki jo je mogoče uporabiti. Ne izvaja zgolj navpičnih prenosov, temveč tudi navzdol. To je čas za prevajanje. Preverjanja se med izvajanjem ne izvajajo, da bi zagotovili, da je predmet, ki se pretvori, poln objekt ciljne vrste.
  • Dinamična igralska zasedba - Zagotavlja, da rezultat pretvorbe tipa kaže na veljaven, popoln objekt ciljne vrste kazalca.
  • Const Cast - manipulira s tem, ali mora biti predmet stalen ali nespremenljiv. Zagotavlja, da je treba konstanto nastaviti ali odstraniti.
  • Znova interpretiraj Cast - pretvori kateri koli tip kazalca v kateri koli drug tip kazalca, tudi nepovezanih razredov. Ne preveri, ali sta vrsta kazalca in podatki, ki jih kaže kazalec, enaki ali ne.

Oglejmo si primer statične zasedbe,

Primer

#include z uporabo imenskega prostora std int main () {float flt = 30.11 // z uporabo operaterja oddaje int int1 = static_cast (flt) cout< 

Izhod

30.

To nas pripelje do konca tega članka o pretvorbi vrst v jeziku C ++.Upam, da vam je to informativno in koristno, spremljajte več vadnic o podobnih temah. Lahko si ogledate tudi naš program usposabljanja to lahko pridobite poglobljeno znanje o jQueryju in njegovih različnih aplikacijah za spletno usposabljanje v živo s podporo 24 ur na dan in 7 dni v tednu.

Imate vprašanje za nas? Omenite jih v oddelku za komentarje tega članka in odgovorili vam bomo.