Paano Pinakamahusay na Pagpapatupad ng Uri ng Conversion Sa C ++?



Ipakilala ka ng artikulong ito sa Uri ng Pagbabago Sa C ++ at susundan ito sa isang detalyadong demonstrasyong programmatic para sa pareho.

Ipakilala ka ng artikulong ito sa isa pang kawili-wiling paksang pinag-uusapan ng Type Conversion In C ++ at sundin ito sa detalyadong praktikal na demonstrasyon. Saklaw ang artikulong ito sa artikulong ito,

Kaya't magsimula tayo noon,





I-type ang Conversion Sa C ++

Ang Uri ng Conversion ay tumutukoy sa conversion mula sa isang uri patungo sa isa pa. Ang pangunahing ideya sa likod ng uri ng conversion ay upang gumawa ng variable ng isang uri na katugma sa variable ng iba pang uri upang magsagawa ng isang operasyon. Halimbawa, upang mahanap ang kabuuan ng dalawang variable, isa sa int type at iba pa sa uri ng float. Kaya, kailangan mong i-type ang cast int variable upang lumutang upang gawin silang parehong uri ng float para sa paghahanap ng kabuuan. Sa blog na ito matututunan natin kung paano magsagawa ng uri ng conversion sa C ++.

Sa C ++, mayroong dalawang uri ng uri ng pag-convert ibig sabihin, implicit uri ng conversion at malinaw na pag-convert ng uri.



Implicit Uri ng Conversion

Ang implicit na pag-convert ng uri o awtomatikong pag-convert ng uri ay ginagawa ng tagatala nang mag-isa. Walang panlabas na pag-trigger na kinakailangan ng gumagamit upang mai-type ang isang variable mula sa isang uri patungo sa isa pa.

Ito ay nangyayari kapag ang isang expression ay naglalaman ng mga variable ng higit sa isang uri. Kaya, sa mga sitwasyong iyon nagaganap ang awtomatikong pag-convert ng uri upang maiwasan ang pagkawala ng data.Sa awtomatikong pag-convert ng uri, ang lahat ng mga uri ng data na naroroon sa ekspresyon ay na-convert sa uri ng data ng variable na may pinakamalaking uri ng data.

Nasa ibaba ang pagkakasunud-sunod ng awtomatikong pag-convert ng uri. Maaari mo ring sabihin, pinakamaliit hanggang sa pinakamalaking uri ng data para sa uri ng conversion.



bool -> char -> maikling int -> int -> unsigned int -> long -> unsigned -> long long -> float -> double -> long double

Ang nawawalang mga pag-convert ay maaaring mawala ang impormasyon tulad ng mga palatandaan ay maaaring mawala kapag ang naka-sign na uri ay implicit na nai-convert sa hindi naka-sign na uri at overflow ay maaaring mangyari kapag mahaba ay implicitly na-convert sa float.

Ngayon tingnan natin ang isang halimbawa upang maunawaan kung paano gumagana ang implicit uri ng conversion sa C ++.

Halimbawa

# isama ang paggamit ng namespace std int main () 12w {int int1 = 100 // integer int1 char char1 = 'c' // character char1 // char1 na implicit na na-convert sa int gamit ang ASCII na halaga ng 'c' ie 99 int1 = int1 + char1 // int1 ay implicitly na na-convert sa float float flt1 = int1 + 2.7 cout<< 'int1 = ' << int1 << endl << 'char1 = ' << char1 << endl << 'flt1 = ' << flt1 << endl return 0 }

Paglabas

int1 = 199

char1 = c

flt1 = 201.7

Susunod sa ganitong uri ng conversion sa artikulong C ++,

Tahasang Pagbabago ng Uri

Ang malinaw na uri ng conversion o uri ng paghahagis ay ang pagtukoy ng uri na tinukoy ng gumagamit. Sa malinaw na uri ng conversion, ang gumagamit ay nagko-convert ng isang uri ng variable sa isa pang uri. Ang malinaw na pag-convert ng uri ay maaaring gawin sa dalawang paraan sa C ++:

  • Nagko-convert sa pamamagitan ng takdang-aralin
  • Conversion gamit ang operator ng Cast

Tingnan natin ngayon ang bawat isa sa mga paraan upang malinaw na mai-type ang pag-cast ng isang uri sa isa pa.

Nagko-convert sa pamamagitan ng takdang-aralin

Sa ganitong uri ng conversion ang kinakailangang uri ay malinaw na tinukoy sa harap ng ekspresyon sa panaklong. Nangyayari ang pagkawala ng data sa tahasang paghuhugas ng uri. Ito ay itinuturing na isang malakas na paghahagis. Tingnan natin ang isang halimbawa.

Halimbawa

# isama ang paggamit ng namespace std int main () {dobleng dbl1 = 8.9 // Maliwanag na conversion mula sa doble hanggang sa int int res = (int) dbl1 + 1 cout<< 'Result = ' << res return 0 }

Paglabas

Resulta = 9

Susunod sa ganitong uri ng conversion sa artikulong C ++,

Conversion gamit ang Cast Operator

Ang operator ng cast ay isang unary operator na pinipilit ang isang uri ng data na ma-convert sa ibang uri ng data. Mayroong apat na uri ng casting sa C ++, ibig sabihin Static Cast, Dynamic Cast, Const Cast at Reinterpret Cast.

  • Static Cast - Ito ang pinakasimpleng uri ng cast na maaaring magamit. Hindi lamang ito gumaganap ng mga pag-upcast, kundi pati na rin ang mga pagbagsak. Ito ay isang compile time cast. Ang mga tseke ay hindi ginanap sa panahon ng runtime upang matiyak na ang isang bagay na na-convert ay isang buong bagay ng uri ng patutunguhan.
  • Dynamic na Cast - Tinitiyak nito na ang isang resulta ng uri ng conversion point sa wasto, kumpletong object ng patutunguhan na uri ng pointer.
  • Const Cast - manipulahin na kung ang bagay ay kailangang maging pare-pareho o hindi pare-pareho. Tinitiyak nito na alinman sa pare-pareho na kailangang maitakda o alisin.
  • Bigyang-kahulugan muli ang Cast - nagko-convert ng anumang uri ng pointer sa anumang iba pang uri ng pointer, kahit na sa mga hindi kaugnay na klase. Hindi nito sinusuri kung ang uri ng pointer at data na itinuro ng pointer ay pareho o hindi.

Tingnan natin ang isang halimbawa ng static cast,

Halimbawa

# isama ang paggamit ng namespace std int main () {float flt = 30.11 // using cast operator int int1 = static_cast (flt) cout< 

Paglabas

30

Dinadala tayo nito sa dulo ng artikulong ito sa Type Conversion In C ++.Inaasahan kong nahanap mo ito na nagbibigay-kaalaman at kapaki-pakinabang, manatiling nakasubaybay para sa higit pang mga tutorial sa mga katulad na paksa. Maaari mo ring i-checkout ang aming programa sa pagsasanay to makakuha ng malalim na kaalaman sa jQuery kasama ang iba't ibang mga application, maaari mo para sa live na pagsasanay sa online na may suporta na 24/7 at habang-buhay na pag-access.

ano ang init sa sawa

May tanong ba sa amin? Nabanggit ang mga ito sa seksyon ng mga komento ng artikulong ito at babalikan ka namin.