Cum să implementați cel mai bine conversia de tip în C ++?



Acest articol vă va prezenta conversia de tip în C ++ și o va urmări cu o demonstrație programatică detaliată pentru același lucru.

Acest articol vă va prezenta încă un subiect interesant pe care introduceți conversia C ++ și urmați-l cu o demonstrație practică detaliată. Următoarele indicații vor fi tratate în acest articol,

Deci, hai să începem atunci,





Tastați conversia în C ++

Conversia de tip se referă la conversia de la un tip la altul. Ideea principală din spatele conversiei de tip este de a face variabilele de un tip compatibile cu variabile de alt tip pentru a efectua o operație. De exemplu, pentru a găsi suma a două variabile, una de tip int și alta de tip float. Deci, trebuie să tastați cast int variabilă să plutească pentru a le face pe amândouă să plutească pentru a găsi suma. În acest blog vom învăța cum să efectuăm conversia de tip în C ++.

În C ++, există două tipuri de conversie de tip, adică conversie de tip implicită și conversie de tip explicit.



Conversie tip implicită

Conversia de tip implicită sau conversia automată de tip se face de către compilator pe cont propriu. Nu există niciun declanșator extern cerut de utilizator pentru a tipografia o variabilă de la un tip la altul.

Acest lucru se întâmplă atunci când o expresie conține variabile de mai multe tipuri. Deci, în aceste scenarii are loc conversia automată de tip pentru a evita pierderea datelor.În conversia automată de tip, toate tipurile de date prezente în expresie sunt convertite în tipul de date al variabilei cu cel mai mare tip de date.

Mai jos este ordinea conversiei automate de tip. Puteți spune, de la cel mai mic la cel mai mare tip de date pentru conversia de tip.



bool -> char -> scurt int -> int -> nesemnat int -> lung -> nesemnat -> lung lung -> plutitor -> dublu -> lung dublu

Conversiile implicite pot pierde informații, cum ar fi semnele pot fi pierdute atunci când tipul semnat este implicit convertit în tip nesemnat și depășirea poate apărea atunci când lungul este implicit convertit în float.

ce face .trim în java

Acum să ne uităm la un exemplu pentru a înțelege cum funcționează conversia de tip implicită în C ++.

Exemplu

#include folosirea spațiului de nume std int main () 12w {int int1 = 100 // integer int1 char char1 = 'c' // caracter char1 // char1 implicit convertit în int folosind valoarea ASCII a 'c' adică 99 int1 = int1 + char1 // int1 este implicit convertit în float float flt1 = int1 + 2.7 cout<< 'int1 = ' << int1 << endl << 'char1 = ' << char1 << endl << 'flt1 = ' << flt1 << endl return 0 }

Ieșire

int1 = 199

char1 = c

operator operator c ++

flt1 = 201,7

Următorul în acest tip de conversie în articolul C ++,

Conversie de tip explicită

Conversia de tip explicit sau tiparea de tip este conversia de tip definită de utilizator. În conversia explicită de tip, utilizatorul convertește un tip de variabilă în alt tip. Conversia explicită de tip se poate face în două moduri în C ++:

  • Conversia prin atribuire
  • Conversie utilizând operatorul Cast

Acum, să ne uităm la fiecare dintre modalitățile de a scrie explicit un tip la altul.

Conversia prin atribuire

În această conversie de tip, tipul cerut este definit explicit în fața expresiei din paranteză. Pierderea datelor se întâmplă în castingul de tip explicit. Este considerat un casting puternic. Să vedem un exemplu.

Exemplu

#includeți utilizarea spațiului de nume std int main () {double dbl1 = 8,9 // Conversie explicită de la double la int int res = (int) dbl1 + 1 cout<< 'Result = ' << res return 0 }

Ieșire

Rezultat = 9

Următorul în acest tip de conversie în articolul C ++,

system.exit (0)

Conversie utilizând Cast Operator

Operatorul de distribuție este un operator unar care forțează convertirea unui tip de date într-un alt tip de date. Există patru tipuri de casting în C ++, și anume Cast static, Cast dinamic, Cast Cast și Reinterpret Cast.

  • Distribuție statică - Acesta este cel mai simplu tip de turnare care poate fi folosit. Nu numai că efectuează ascensiuni, ci și ascunse. Este o distribuție în timp de compilare. Verificările nu sunt efectuate în timpul runtime pentru a garanta că un obiect convertit este un obiect complet de tipul destinației.
  • Distribuție dinamică - Se asigură că un rezultat al conversiei de tip indică obiectul valid, complet al tipului de pointer de destinație.
  • Const Cast - manipulează faptul că obiectul trebuie să fie constant sau neconstant. Se asigură că fie constanta trebuie setată, fie eliminată.
  • Reinterpretează distribuția - convertește orice tip de pointer la orice alt tip de pointer, chiar și din clase fără legătură. Nu verifică dacă tipul indicatorului și datele indicate de acesta sunt sau nu identice.

Să vedem un exemplu de distribuție statică,

Exemplu

#include folosind namespace std int main () {float flt = 30.11 // folosind operatorul cast int int1 = static_cast (flt) cout< 

Ieșire

30

Aceasta ne duce la sfârșitul acestui articol despre conversia de tip în C ++.Sper că ați găsit acest lucru informativ și util, rămâneți la curent pentru mai multe tutoriale despre subiecte similare. De asemenea, puteți consulta programul nostru de formare to Obțineți cunoștințe aprofundate despre jQuery împreună cu diferitele sale aplicații, puteți pentru instruire online live cu asistență 24/7 și acces pe viață.

Ai o întrebare pentru noi? Menționați-le în secțiunea de comentarii a acestui articol și vă vom răspunde.