Kaip geriausiai įgyvendinti tipo konversiją C ++ versijoje?



Šis straipsnis supažindins jus su tipų konversija C ++ ir pateiks išsamią programinę to paties demonstraciją.

Šis straipsnis supažindins su dar viena įdomia tema, įveskite konversiją C ++ ir sekite ją išsamiai praktiškai demonstruodami. Tolimesni patarimai bus aptarti šiame straipsnyje,

Taigi pradėkime tada,





mesti dvigubą int java

Įveskite konversiją C ++

Tipo konversija reiškia konversiją iš vieno tipo į kitą. Pagrindinė tipo konversijos idėja yra padaryti vieno tipo kintamąjį suderinamą su kito tipo kintamuoju operacijai atlikti. Pvz., Norėdami rasti dviejų kintamųjų, vieno int tipo ir kito plūduriuojančio, sumą. Taigi, norėdami plūduriuoti, turite įvesti „cast int“ kintamąjį, kad abu jie taptų plūduriuojančiais, kad rastumėte sumą. Šiame tinklaraštyje sužinosime, kaip atlikti tipo keitimą C ++.

C ++ versijoje yra dviejų tipų konversijos tipai, ty numanomo tipo konversija ir atviro tipo konversija.



Numanomas tipo konversija

Numanomą tipo konversiją arba automatinę tipo konversiją kompiliatorius atlieka pats. Vartotojui nereikia išorinio trigerio, kad būtų galima sukonstruoti kintamąjį iš vieno tipo į kitą.

Taip atsitinka, kai išraiškoje yra daugiau nei vieno tipo kintamieji. Taigi, tokiais atvejais, norint išvengti duomenų praradimo, automatinė tipo konversija vyksta.Atliekant automatinį tipo konvertavimą, visi išraiškoje esantys duomenų tipai konvertuojami į didžiausią duomenų tipą turinčio kintamojo duomenų tipą.

Žemiau pateikiama automatinio tipo keitimo tvarka. Taip pat galite pasakyti, nuo mažiausio iki didžiausio duomenų tipo konversijai.



„Bool“ -> char -> trumpas int -> int -> nepasirašytas int -> ilgas -> nepasirašytas -> ilgas ilgas -> plūdinis -> dvigubas -> ilgas dvigubas

Numanomos konversijos gali prarasti informaciją, pvz., Ženklai gali būti prarasti, kai pasirašytas tipas yra netiesiogiai paverstas nepasirašytu, o perpildymas gali įvykti, kai ilgas yra netiesiogiai paverstas plūduriuojančiu.

Dabar pažvelkime į pavyzdį, kad suprastume, kaip netiesioginio tipo konversija veikia C ++.

Pavyzdys

#includes naudojant vardų sritį std int main () 12w {int int1 = 100 // sveikas skaičius int1 char char1 = 'c' // simbolis char1 // char1 netiesiogiai paverstas int, naudojant ASCII reikšmę 'c', ty 99 int1 = int1 + char1 // int1 yra netiesiogiai konvertuojamas į plūdinę plūdę flt1 = int1 + 2,7 cout<< 'int1 = ' << int1 << endl << 'char1 = ' << char1 << endl << 'flt1 = ' << flt1 << endl return 0 }

Rezultatas

int1 = 199

char1 = c

flt1 = 201,7

Kitas šio tipo konversija C ++ straipsnyje,

Aiškus tipo konversija

Aiškus tipo konversija arba tipo perdavimas yra vartotojo apibrėžta tipo konversija. Atlikdamas aiškų tipo konversiją, vartotojas konvertuoja vieno tipo kintamuosius į kitus. Aiškus tipo konvertavimas gali būti atliekamas dviem būdais C ++:

  • Konvertavimas pagal priskyrimą
  • Konversija naudojant „Cast“ operatorių

Dabar pažvelkime į kiekvieną būdą, kaip aiškiai įvesti tipą.

Konvertavimas pagal priskyrimą

Tokio tipo konversijoje reikalingas tipas yra aiškiai apibrėžtas prieš skliaustuose esančią išraišką. Duomenys prarandami perduodant aiškų tipą. Tai laikoma priverstiniu liejimu. Pažvelkime į pavyzdį.

Pavyzdys

#include naudojant vardų sritį std int main () {double dbl1 = 8.9 // Aiškus konvertavimas iš dvigubo į int int res = (int) dbl1 + 1 cout<< 'Result = ' << res return 0 }

Rezultatas

Rezultatas = 9

Kitas šio tipo konversija C ++ straipsnyje,

sukurti singleton klasę java

Konversija naudojant „Cast Operator“

„Cast“ operatorius yra vienarūšis operatorius, kuris priverčia vieną duomenų tipą konvertuoti į kitą duomenų tipą. „C ++“ yra keturi liejimo tipai, t. Y. „Static Cast“, „Dynamic Cast“, „Const Cast“ ir „Reinterpret Cast“.

  • Statinis vaidmuo - Tai paprasčiausias liejimo tipas, kurį galima naudoti. Tai ne tik atlieka upcasts, bet ir downcasts. Tai sukompiliuotas laikas. Veikimo metu patikrinimai neatliekami siekiant užtikrinti, kad konvertuojamas objektas yra visas paskirties tipo objektas.
  • „Dynamic Cast“ - Tai užtikrina, kad tipo konversijos rezultatas nukreiptų į galiojantį, išsamų paskirties žymeklio tipo objektą.
  • Const Cast - manipuliuoja tuo, ar objektas turi būti pastovus, ar ne pastovus. Tai užtikrina, kad reikia nustatyti arba pašalinti konstantą.
  • Perinterpretuoti aktorių - konvertuoja bet kurį žymeklio tipą į bet kurį kitą, net nesusijusių klasių, tipą. Jis netikrina, ar žymeklio tipas ir rodyklės nurodyti duomenys yra vienodi, ar ne.

Pažvelkime į statinio modelio pavyzdį,

Pavyzdys

#include naudojant vardų sritį std int main () {float flt = 30.11 // naudojant cast operator int int1 = static_cast (flt) cout< 

Rezultatas

30

Taip pateksime į šio straipsnio apie tipų konversiją C ++ pabaigoje pabaigą.Tikiuosi, kad jums pasirodė šis informatyvus ir naudingas, stebėkite daugiau panašių temų pamokų. Taip pat galite patikrinti mūsų mokymo programą to galite gauti išsamių žinių apie „jQuery“ kartu su įvairiomis jo programomis tiesioginėms internetinėms treniruotėms, palaikančioms visą parą visą parą ir visą gyvenimą.

Turite mums klausimą? Paminėkite juos šio straipsnio komentarų skyriuje ir mes susisieksime su jumis.