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,
- Pretvorba tipa u C ++
- Implicitna pretvorba tipa
- Eksplicitna pretvorba tipa
- Pretvaranje po zadatku
- Pretvorba pomoću Cast operatora
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.