Kirjoita Conversion C++:ssa
Tyyppivalu on pohjimmiltaan muuntamista tyypistä toiseen. Tyyppimuunnoksia on kahta tyyppiä:
- Implisiittinen tyyppimuunnos Tunnetaan myös nimellä 'automaattinen tyyppimuunnos'.
- Kääntäjä tekee itse, ilman käyttäjän ulkoista laukaisua.
- Yleensä tapahtuu, kun lausekkeessa on useampi kuin yksi tietotyyppi. Tällaisissa olosuhteissa tyyppimuunnos (tyypin edistäminen) tapahtuu tietojen menettämisen välttämiseksi.
- Kaikki muuttujien tietotyypit päivitetään suurimman tietotyypin muuttujan tietotyypeiksi.
bool ->char -> short int -> int -> unsigned int -> long -> unsigned -> long long -> float -> double -> long double
- Implisiittiset muunnokset voivat menettää tietoja, merkit voivat kadota (kun allekirjoitettu muunnetaan implisiittisesti etumerkittömäksi) ja ylivuoto voi tapahtua (kun long long muunnetaan implisiittisesti kelluvaksi).
- Muuntaminen toimeksiannon mukaan: Tämä tehdään määrittämällä vaadittu tyyppi selkeästi suluissa olevan lausekkeen eteen. Tätä voidaan pitää myös voimakkaana valuna.
Syntaksi:
(type) expression
missä tyyppi ilmaisee tietotyypin, johon lopputulos muunnetaan.
Esimerkki:
// C++ program to demonstrate>// explicit type casting>>#include>using>namespace>std;>>int>main()>{>>double>x = 1.2;>>>// Explicit conversion from double to int>>int>sum = (>int>)x + 1;>>>cout < <>'Sum = '>< < sum;>>>return>0;>}>
Lähtö:Sum = 2
- Muunnos Cast-operaattorilla: Cast-operaattori on yksipuolinen operaattori joka pakottaa yhden tietotyypin muuttamaan toiseksi tietotyypiksi.
C++ tukee neljää casting-tyyppiä:- Staattinen Cast
- Dynaaminen Cast
- Const Cast
- Tulkitse näyttelijä uudelleen
- Tämä tehdään tyyppihierarkioiden tai tyyppiesitysten tiettyjen ominaisuuksien hyödyntämiseksi.
- Se auttaa laskemaan lausekkeita, jotka sisältävät eri tietotyyppien muuttujia.
Esimerkki:
#include>using>namespace>std;>int>main()>{>>float>f = 3.5;>>>// using cast operator>>int>b =>static_cast><>int>>(f);>>
Lähtö:3
Tyyppimuunnoksen edut:
Saatat Pitää
Top Artikkelit
Luokka
Mielenkiintoisia Artikkeleita
Esimerkki implisiittisen muunnoksen tyypistä:
// An example of implicit conversion> > #include> using> namespace> std;> > int> main()> {> > int> x = 10;> // integer x> > char> y => 'a'> ;> // character c> > > // y implicitly converted to int. ASCII> > // value of 'a' is 97> > x = x + y;> > > // x is implicitly converted to float> > float> z = x + 1.0;> > > cout < <> 'x = '> < < x < < endl> > < <> 'y = '> < < y < < endl> > < <> 'z = '> < < z < < endl;> > > return> 0;> }> |
Lähtö:
x = 107 y = a z = 108Eksplisiittisen tyypin muunnos: Tätä prosessia kutsutaan myös tyyppisuoritukseksi ja se on käyttäjän määrittämä. Täällä käyttäjä voi kirjoittaa tuloksen tehdäkseen siitä tietyn tietotyypin.
C++:ssa se voidaan tehdä kahdella tavalla: