Kuidas kõige paremini rakendada tüübikonversiooni C ++ versioonis?



Selles artiklis tutvustatakse teile tüübi teisendamist C ++ -s ja järgitakse selle üksikasjalikku programmilist tutvustust.

See artikkel tutvustab teile veel üht huvitavat teemat, mille sisestage teisendamine C ++ ja järgige seda üksikasjaliku praktilise tutvustusega. Järgmisi näpunäiteid käsitletakse selles artiklis,

Alustagem siis





Sisestage teisendus C ++

Tüübikonversioon viitab teisendamisele ühelt tüübilt teisele. Tüübi teisendamise peamine mõte on muuta ühe tüübi muutuja operatsiooni sooritamiseks ühilduvaks teist tüüpi muutujaga. Näiteks kahe muutuja summa leidmiseks, üks int-tüüpi ja teine ​​ujuk-tüüpi. Niisiis, peate hõljumiseks sisestama cast int muutuja, et need mõlemad oleksid summa leidmiseks ujukitüübiks. Selles ajaveebis õpime, kuidas teostada tüübi teisendamist C ++ keeles.

C ++ versioonis on kahte tüüpi tüübikonversioone, st implitsiitset tüüpi teisendamist ja selgesõnalist tüüpi teisendamist.



Kaudne tüübikonversioon

Kaudne tüübikonversioon või automaatne tüübikonversioon toimub kompilaatori poolt iseseisvalt. Muutuja ühest tüübist teise sisestamiseks pole kasutajal vaja välist päästikut.

See juhtub siis, kui avaldis sisaldab mitut tüüpi muutujaid. Niisiis toimub andmete stsenaariumi korral automaatne tüübikonversioon andmete kadumise vältimiseks.Automaatse tüübikonversiooni korral teisendatakse kõik avaldises olevad andmetüübid suurima andmetüübiga muutuja andmetüübiks.

Allpool on toodud tüübi automaatse teisendamise järjekord. Tüübi teisendamiseks võite öelda ka väikseima kuni suurima andmetüübi.



bool -> char -> lühike int -> int -> allkirjastamata int -> pikk -> allkirjastamata -> pikk pikk -> ujuk -> topelt -> pikk topelt

Kaudsed teisendused võivad kaotada teavet, näiteks märgid võivad kaduda, kui allkirja tüüp teisendatakse kaudselt allkirjata tüübiks ja ülevool võib tekkida, kui pikk kaudselt teisendatakse ujukiks.

Vaatame nüüd ühte näidet, et mõista, kuidas vaikimisi tüüpi teisendamine töötab C ++ keeles.

Näide

#include nimeruumi abil st int main () 12w {int int1 = 100 // täisarv int1 char char1 = 'c' // märk char1 // char1 teisendatakse kaudselt int-le, kasutades ASCII väärtust 'c', st 99 int1 = int1 + char1 // int1 teisendatakse kaudselt ujuk floatiks flt1 = int1 + 2,7 cout<< 'int1 = ' << int1 << endl << 'char1 = ' << char1 << endl << 'flt1 = ' << flt1 << endl return 0 }

Väljund

int1 = 199

char1 = c

flt1 = 201,7

Järgmine selles tüübi teisenduses C ++ artiklis,

sorteeri c ++ massiiv

Selgesõnaline tüübikonversioon

Tüüpiline teisendamine või tüübi ülekandmine on kasutaja määratud tüübi teisendamine. Selgesõnalise tüübikonversiooni korral teisendab kasutaja ühe tüüpi muutujad teiseks. Selgesõnalise tüübi teisendamise saab C ++ -s teha kahel viisil:

  • Teisendamine ülesande järgi
  • Konverteerimine operaatori Cast abil

Vaatame nüüd kõiki viise, kuidas ühest tüübist teist selgeks teha.

Teisendamine ülesande järgi

Selle tüübi teisendamisel on nõutav tüüp selgesõnaliselt määratletud sulgudes avaldise ees. Andmete kadumine toimub otsese tüübi ülekandmisel. Seda peetakse jõuliseks castinguks. Vaatame ühte näidet.

Näide

#include nimeruumi kasutamine st int main () {double dbl1 = 8.9 // Selgesõnaline teisendamine kahekordsest int int res = (int) dbl1 + 1 cout<< 'Result = ' << res return 0 }

Väljund

Tulemus = 9

Järgmine selles tüübi teisenduses C ++ artiklis,

Teisendamine Cast Operatori abil

Cast-operaator on unaaroperaator, mis sunnib ühe andmetüübi teisendama teiseks andmetüübiks. C ++ versioonis on nelja tüüpi castinguid, st staatiline cast, dünaamiline cast, Const Cast ja Reinterpret Cast.

  • Staatiline näitleja - See on lihtsaim valutüüp, mida saab kasutada. See mitte ainult ei soorita üleslaadimisi, vaid ka allavajutusi. See on kompileeritud aeg. Käitusaja jooksul ei tehta kontrolle tagamaks, et teisendatav objekt on sihtkohatüübi täielik objekt.
  • Dünaamiline näitleja - See tagab, et tüübi teisendamise tulemus osutab sihtkursori tüübi kehtivale terviklikule objektile.
  • Const Cast - manipuleerib sellega, kas objekt peab olema konstantne või mittekonstantne. See tagab, et kas konstant tuleb seada või see eemaldada.
  • Tõlgi Cast uuesti - teisendab mis tahes osuti tüübi mis tahes muuks osuti tüübiks, isegi mitteseotud klassideks. See ei kontrolli, kas kursori tüüp ja osutatavad andmed on samad või mitte.

Vaatame staatilise valamise näidet,

Näide

#include nimeruumi kasutamine st int main () {float flt = 30.11 // cast-operaatori int int = static_cast (flt) cout kasutamine< 

Väljund

30

See viib meid selle artikli lõppu, mis käsitleb tüüpi teisendamist C ++ -s.Loodan, et leidsite selle informatiivse ja kasuliku. Olge kursis rohkemate sarnaste teemade õpetustega. Võite vaadata ka meie koolitusprogrammi to saate põhjalikke teadmisi jQuery ja selle erinevate rakenduste kohta reaalajas veebikoolituse jaoks, millel on 24-tunnine tugi ja juurdepääs kogu elule.

Kas teil on meile küsimus? Mainige neid selle artikli kommentaaride jaotises ja võtame teiega ühendust.