Как да реализираме най-доброто преобразуване на типове в C ++?



Тази статия ще ви запознае с преобразуването на типове в C ++ и ще го последва с подробна програмна демонстрация за същото.

Тази статия ще ви запознае с поредната интересна тема, която преобразува типа C ++ и го следвайте с подробна практическа демонстрация. Следните указания ще бъдат обхванати в тази статия,

Нека започнем тогава,





Преобразуване на тип в C ++

Преобразуване на тип се отнася до преобразуване от един тип в друг. Основната идея зад преобразуването на типа е да се направи променлива от един тип съвместима с променлива от друг тип, за да се извърши операция. Например, за да се намери сумата от две променливи, едната от тип int и друга от тип float. Така че, трябва да въведете променлива cast int, за да плава, за да ги накара и двамата да плават за намиране на сумата. В този блог ще научим как да извършим преобразуване на тип в C ++.

В C ++ има два типа преобразуване на типа, т.е. неявно преобразуване на тип и изрично преобразуване на тип.



Неявно преобразуване на типа

Неявно преобразуване на типа или автоматично преобразуване на типа се извършва от компилатора самостоятелно. Няма потребителски външен задействащ елемент, който да въвежда променлива от един тип в друг.

Това се случва, когато израз съдържа променливи от повече от един тип. Така че в тези сценарии се извършва автоматично преобразуване на типа, за да се избегне загуба на данни.При автоматично преобразуване на типа всички типове данни, присъстващи в израза, се преобразуват в тип данни на променливата с най-големия тип данни.

какво прави tostring в java

По-долу е реда на автоматичното преобразуване на типа. Можете също да кажете, от най-малкия до най-големия тип данни за преобразуване на тип.



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

Неявните преобразувания могат да загубят информация, като например знаци могат да бъдат загубени, когато подписаният тип е имплицитно преобразуван в неподписан тип и може да възникне препълване, когато long е неявно преобразуван в float.

Сега нека разгледаме един пример, за да разберем как работи неявното преобразуване на типове в C ++.

Пример

#include използвайки пространство от имена std int main () 12w {int int1 = 100 // integer int1 char char1 = 'c' // character char1 // char1 имплицитно преобразуван в int с помощта на ASCII стойност на 'c' т.е. 99 ​​int1 = int1 + char1 // int1 имплицитно се преобразува в float float flt1 = int1 + 2.7 cout<< 'int1 = ' << int1 << endl << 'char1 = ' << char1 << endl << 'flt1 = ' << flt1 << endl return 0 }

Изход

int1 = 199

char1 = c

flt1 = 201,7

Следваща в този тип преобразуване в C ++ статия,

Изрично преобразуване на типове

Изрично преобразуване на тип или преливане на тип е дефинирано от потребителя преобразуване на типа. При изрично преобразуване на типа потребителят преобразува един тип променлива в друг тип. Изричното преобразуване на типа може да се направи по два начина в C ++:

  • Преобразуване по задание
  • Преобразуване с помощта на оператор Cast

Сега нека разгледаме всеки от начините за изрично прехвърляне на тип на един тип към друг.

Преобразуване по задание

При това преобразуване на типа необходимият тип е изрично дефиниран пред израза в скоби. Загубата на данни се случва при явно леене на тип. Счита се за насилствен кастинг. Нека разгледаме един пример.

Пример

#include използвайки пространство от имена std int main () {double dbl1 = 8.9 // Изрично преобразуване от double в int int res = (int) dbl1 + 1 cout<< 'Result = ' << res return 0 }

Изход

Резултат = 9

Следваща в този тип преобразуване в C ++ статия,

Преобразуване с помощта на Cast Operator

Операторът Cast е унарен оператор, който принуждава един тип данни да бъде преобразуван в друг тип данни. Има четири вида леене в C ++, т.е. Static Cast, Dynamic Cast, Const Cast и Reinterpret Cast.

  • Статично гласове - Това е най-простият тип отливка, който може да се използва. Той изпълнява не само възходящи предавания, но и понижаващи предавания. Това е време за компилация. Проверките не се извършват по време на изпълнение, за да се гарантира, че обектът, който се преобразува, е пълен обект от типа на дестинацията.
  • Динамичен актьорски състав - Той гарантира, че резултатът от преобразуването на типа сочи към валидния, пълен обект от типа на целевия указател.
  • Const Cast - манипулира дали обектът трябва да бъде постоянен или непостоянен. Той гарантира, че или константата трябва да бъде зададена, или да бъде премахната.
  • Преинтерпретирайте Cast - преобразува всеки тип указател във всеки друг тип показалец, дори от несвързани класове. Той не проверява дали типът на указателя и данните, посочени от показалеца, са еднакви или не.

Нека да разгледаме пример за статичен глас,

Пример

#include използвайки пространство от имена std int main () {float flt = 30.11 // използвайки оператор за гласове int int1 = static_cast (flt) cout< 

Изход

предимства и недостатъци на python

30

Това ни води до края на тази статия за преобразуване на типове в C ++.Надявам се, че сте намерили това информативно и полезно, следете за още уроци по подобни теми. Можете също така да разгледате нашата програма за обучениеo можете да получите задълбочени познания за jQuery заедно с различните му приложения за онлайн обучение на живо с 24/7 поддръжка и доживотен достъп.

Имате въпрос към нас? Споменете ги в раздела за коментари на тази статия и ние ще се свържем с вас.