Kuinka parhaiten toteuttaa tyypin muunnos C ++: ssa?



Tässä artikkelissa esitellään tyypin muunnos C ++: ssa ja seurataan sitä yksityiskohtaisella ohjelmallisella esittelyllä.

Tässä artikkelissa esitellään vielä yksi mielenkiintoinen aihe, joka kirjoitetaan muunnokseksi C ++ ja seuraa sitä yksityiskohtaisella käytännön esittelyllä. Seuraavat vihjeet käsitellään tässä artikkelissa,

Joten aloitetaan sitten,





mvc-suunnittelu kuvio java

Kirjoita muunnos muodossa C ++

Tyyppimuunnos tarkoittaa muuntamista tyypistä toiseen. Tyyppimuunnoksen pääajatuksena on tehdä yhden tyyppinen muuttuja yhteensopivaksi toisen tyyppisen muuttujan kanssa operaation suorittamiseksi. Esimerkiksi kahden muuttujan summan löytämiseksi, toinen int-tyypistä ja toinen float-tyypistä. Joten sinun on kirjoitettava valettu int-muuttuja kellumaan, jotta molemmat kelluvatyypit löytävät summan. Tässä blogissa opitaan, kuinka tyyppimuunnos suoritetaan C ++: ssa.

C ++: ssa on kahden tyyppisiä muunnoksia, toisin sanoen implisiittinen tyypin muunnos ja eksplisiittinen tyypin muunnos.



Epäsuora tyypin muunnos

Kääntäjä suorittaa implisiittisen tyyppimuunnoksen tai automaattisen tyypinmuunnoksen. Käyttäjä ei vaadi ulkoista laukaisinta muuttujan tyypittämiseksi tyypistä toiseen.

Tämä tapahtuu, kun lauseke sisältää muuttujia, jotka ovat useampaa kuin yhtä tyyppiä. Joten noissa skenaarioissa automaattinen tyyppimuunnos tapahtuu tietojen häviämisen välttämiseksi.Automaattisessa tyyppimuunnoksessa kaikki lausekkeessa olevat tietotyypit muunnetaan muuttujan tietotyypiksi, jolla on suurin tietotyyppi.

Alla on automaattisen tyyppimuunnoksen järjestys. Voit myös sanoa pienimmästä suurimpaan tietotyypin tyypin muuntamiseen.



bool -> char -> lyhyt int -> int -> allekirjoittamaton int -> pitkä -> allekirjoittamaton -> pitkä pitkä -> kelluva -> kaksinkertainen -> pitkä kaksinkertainen

Epäsuorat muunnokset voivat menettää tietoja, kuten merkit voivat kadota, kun allekirjoitettu tyyppi muutetaan implisiittisesti allekirjoittamattomaksi ja ylivuotoa voi tapahtua, kun pitkä muutetaan implisiittisesti kelluvaksi.

Katsokaamme nyt esimerkkiä ymmärtääksemme, kuinka implisiittinen tyypin muunnos toimii C ++: ssa.

Esimerkki

#include käyttämällä nimitilaa std int main () 12w {int int1 = 100 // kokonaisluku int1 char char1 = 'c' // merkki char1 // char1 epäsuorasti muunnettu int: ksi käyttämällä c: n ASCII-arvoa eli 99 int1 = int1 + char1 // int1 muunnetaan implisiittisesti float floatiksi flt1 = int1 + 2,7 cout<< 'int1 = ' << int1 << endl << 'char1 = ' << char1 << endl << 'flt1 = ' << flt1 << endl return 0 }

Tuotos

int1 = 199

char1 = c

flt1 = 201,7

Seuraava tämän tyyppinen muunnos C ++ -artikkelissa,

Täsmällinen tyypin muunnos

Tyypillinen tyyppimuunnos tai tyyppivalu on käyttäjän määrittelemää tyyppimuunnosta. Selkeässä tyyppimuunnoksessa käyttäjä muuntaa yhden tyyppisen muuttujan toiseksi. Tyypillinen tyyppimuunnos voidaan tehdä kahdella tavalla C ++: ssa:

  • Muuntaminen tehtävän avulla
  • Muunnos Cast-operaattorin avulla

Tarkastellaan nyt kaikkia tapoja ilmaista tyypin heittäminen tyypistä toiseen.

Muuntaminen tehtävän avulla

Tässä tyyppimuunnoksessa vaadittu tyyppi määritetään nimenomaisesti sulkeissa olevan lausekkeen edessä. Tiedon menetys tapahtuu nimenomaisessa tyypin suoratoistossa. Sitä pidetään voimakkaana valuna. Katsotaanpa esimerkkiä.

Esimerkki

#include käyttämällä nimitilaa std int main () {double dbl1 = 8.9 // Nimenomainen muunnos tuplasta int int res = (int) dbl1 + 1 cout<< 'Result = ' << res return 0 }

Tuotos

Tulos = 9

Seuraava tämän tyyppinen muunnos C ++ -artikkelissa,

erot abstraktin luokan ja käyttöliittymän välillä

Muunnos Cast Operatorilla

Cast-operaattori on unaarinen operaattori, joka pakottaa yhden tietotyypin muuntamaan toiseksi tietotyypiksi. C ++ -tyyppejä on neljä tyyppiä: staattinen, dynaaminen, jatkuva ja uudelleentulkinta.

  • Staattinen näyttelijä - Tämä on yksinkertaisin valutyyppi, jota voidaan käyttää. Se ei pelkästään suorita lähetyksiä, vaan myös laskutoimituksia. Se on koottu aika. Tarkistuksia ei suoriteta ajon aikana sen varmistamiseksi, että muunnettava objekti on kohdetyypin koko objekti.
  • Dynaaminen näyttelijä - Se varmistaa, että tyyppimuunnoksen tulos osoittaa kohdekohdistintyypin kelvolliseen, täydelliseen objektiin.
  • Const Cast - manipuloi sitä, onko kohteen oltava vakio vai ei-vakio. Se varmistaa, että joko vakio on asetettava tai poistettava.
  • Tulkitse Cast uudelleen - muuntaa minkä tahansa osoitintyypin muuksi osoitintyypiksi, myös etuyhteydettömiin luokkiin. Se ei tarkista, ovatko osoittimen tyyppi ja osoittimen tiedot samat.

Katsotaanpa esimerkkiä staattisesta näyttelijästä,

Esimerkki

#include käyttämällä nimitilaa std int main () {float flt = 30.11 // cast-operaattoria int int = static_cast (flt) cout< 

Tuotos

30

Tämä tuo meidät tämän tyypin muuntamista C ++: ssa koskevan artikkelin loppuun.Toivon, että löysit tämän informatiivisen ja hyödyllisen, pysy kuulolla lisää samankaltaisten aiheiden opetusohjelmia. Voit myös tarkistaa koulutusohjelmamme to saada perusteellista tietoa jQuerystä ja sen eri sovelluksista, voit live-verkkokoulutukseen 24/7 tuella ja käyttöikä.

Onko sinulla kysymys meille? Mainitse ne tämän artikkelin kommenttiosassa ja palaamme sinuun.