Kako najbolje implementirati pretvorbu tipova u C ++?



Ovaj članak upoznat će vas s pretvorbom tipova u jeziku C ++ i slijediti detaljan programski prikaz istog.

Ovaj će vas članak upoznati s još jednom zanimljivom temom koja pretvara tip C ++ i slijedite ga s detaljnim praktičnim demonstracijama. U ovom će članku biti obrađeni sljedeći smjerovi,

Pa krenimo onda,





Pretvorba tipa u C ++

Pretvorba tipa odnosi se na pretvorbu iz jedne vrste u drugu. Glavna ideja pretvorbe tipa je učiniti varijablu jednog tipa kompatibilnom s varijablom druge vrste za izvođenje operacije. Na primjer, za pronalaženje zbroja dviju varijabli, jedne tipa int i druge tipa float. Dakle, trebate utipkati varijablu int int da plutaju kako bi oboje plutali za pronalaženje zbroja. Na ovom blogu naučit ćemo kako izvršiti pretvorbu tipa na C ++.

U C ++-u postoje dvije vrste pretvorbe tipa, tj. Implicitna pretvorba tipa i eksplicitna pretvorba tipa.



Implicitna pretvorba tipa

Implicitnu pretvorbu tipa ili automatsku pretvorbu tipa kompajler vrši samostalno. Ne postoji vanjski okidač koji korisnik zahtijeva za prenošenje varijable s jedne na drugu vrstu.

To se događa kada izraz sadrži varijable više od jednog tipa. Dakle, u tim se scenarijima odvija automatska pretvorba tipa kako bi se izbjegao gubitak podataka.U automatskoj pretvorbi tipa, sve vrste podataka prisutne u izrazu pretvaraju se u tip podataka varijable s najvećim tipom podataka.

Ispod je redoslijed automatske pretvorbe tipa. Također možete reći, najmanji do najveći tip podataka za pretvorbu tipa.



bool -> char -> kratko int -> int -> nepotpisano int -> dugo -> nepotpisano -> dugo dugo -> plutajuće -> dvostruko -> dugo dvostruko

Implicitne pretvorbe mogu izgubiti informacije, poput znakova, ako se znakovni tip implicitno pretvori u nepotpisani, a može doći do preljeva kada se implicitno pretvori u plutajući.

c ++ sortiranje ()

Pogledajmo sada primjer kako bismo razumjeli kako implicitna pretvorba tipova djeluje u C ++.

Primjer

#include using namespace std int main () 12w {int int1 = 100 // integer int1 char char1 = 'c' // character char1 // char1 implicitno pretvoren u int koristeći ASCII vrijednost 'c' tj. 99 int1 = int1 + char1 // int1 se implicitno pretvara u float float flt1 = int1 + 2.7 cout<< 'int1 = ' << int1 << endl << 'char1 = ' << char1 << endl << 'flt1 = ' << flt1 << endl return 0 }

Izlaz

int1 = 199

char1 = c

primjena reda prioriteta u javi

flt1 = 201,7

Sljedeće u ovoj pretvorbi tipa u članku C ++,

Eksplicitna pretvorba tipa

Eksplicitna pretvorba tipa ili lijevanje tipa je korisnički definirana pretvorba tipa. U eksplicitnoj pretvorbi tipa, korisnik pretvara jednu vrstu varijable u drugu vrstu. Eksplicitna pretvorba tipa može se na C ++ izvesti na dva načina:

  • Pretvaranje po zadatku
  • Pretvorba pomoću Cast operatora

Pogledajmo sada svaki od načina eksplicitnog prebacivanja jedne vrste na drugu.

Pretvaranje po zadatku

U ovoj pretvorbi tipa traženi tip je izričito definiran ispred izraza u zagradama. Gubitak podataka događa se u eksplicitnom lijevanju tipa. Smatra se snažnim lijevanjem. Pogledajmo primjer.

Primjer

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

Izlaz

Rezultat = 9

Sljedeće u ovoj pretvorbi tipa u članku C ++,

kako spriječiti zastoj u javi -

Pretvorba pomoću Cast Operator

Operator emitiranja je unarni operator koji prisiljava pretvaranje jednog tipa podataka u drugi tip podataka. U C ++-u postoje četiri vrste lijevanja, tj. Static Cast, Dynamic Cast, Const Cast i Reinterpret Cast.

  • Statična uloga - Ovo je najjednostavnija vrsta odljeva koja se može koristiti. Ne izvodi samo nadogradnje, već i padove. To je vrijeme sastavljanja. Provjere se ne provode tijekom izvođenja kako bi se zajamčilo da je objekt koji se pretvara puni objekt odredišnog tipa.
  • Dinamičko emitiranje - Osigurava da rezultat pretvorbe tipa usmjerava na valjani, cjeloviti objekt odredišnog tipa pokazivača.
  • Const Cast - manipulira time treba li objekt biti konstantan ili nestalan. Osigurava da konstantu treba postaviti ili ukloniti.
  • Ponovno protumačite Cast - pretvara bilo koji tip pokazivača u bilo koji drugi tip pokazivača, čak i nepovezanih klasa. Ne provjerava jesu li tip pokazivača i podaci na koje pokazuje pokazivač isti ili ne.

Pogledajmo primjer statičkog liva,

Primjer

#include using space names std int main () {float flt = 30.11 // pomoću operatora cast cast int int1 = static_cast (flt) cout< 

Izlaz

30

To nas dovodi do kraja ovog članka o Pretvorbi tipova u C ++.Nadam se da vam je ovo bilo informativno i korisno, pratite nas i potražite više vodiča o sličnim temama. Možete pogledati i naš program obukeo možete dobiti detaljno znanje o jQueryju, zajedno s raznim aplikacijama za mrežni trening uživo s podrškom 24/7 i doživotnim pristupom.

Imate pitanje za nas? Spomenite ih u odjeljku za komentare ovog članka i javit ćemo vam se.