كيف يتم تنفيذ تحويل النوع بشكل أفضل في C ++؟



ستقدم لك هذه المقالة إلى Type Conversion في C ++ ومتابعته بعرض برمجي مفصل لنفسه.

ستقدم لك هذه المقالة موضوعًا مثيرًا آخر مثيرًا للاهتمام اكتب التحويل فيه C ++ ومتابعته مع شرح عملي مفصل. سيتم تغطية المؤشرات التالية في هذه المقالة ،

فلنبدأ إذن ،





اكتب التحويل في C ++

يشير تحويل النوع إلى التحويل من نوع إلى آخر. الفكرة الرئيسية وراء تحويل النوع هي جعل متغير من نوع متوافق مع متغير من نوع آخر لإجراء عملية. على سبيل المثال ، للعثور على مجموع متغيرين ، أحدهما من النوع int والآخر من النوع العائم. لذلك ، تحتاج إلى كتابة cast int المتغير لتعويم لجعل كلاهما من النوع العائم لإيجاد المجموع. في هذه المدونة سوف نتعلم كيفية إجراء تحويل الكتابة في C ++.

في C ++ ، هناك نوعان من تحويل النوع ، أي تحويل النوع الضمني وتحويل النوع الصريح.



نوع التحويل الضمني

يتم إجراء تحويل النوع الضمني أو تحويل النوع التلقائي بواسطة المترجم من تلقاء نفسه. لا يوجد مشغل خارجي يطلبه المستخدم لنسخ متغير من نوع إلى آخر.

يحدث هذا عندما يحتوي تعبير على متغيرات من أكثر من نوع واحد. لذلك ، في هذه السيناريوهات ، يحدث التحويل التلقائي للنوع لتجنب فقدان البيانات.في التحويل التلقائي للكتابة ، يتم تحويل جميع أنواع البيانات الموجودة في التعبير إلى نوع بيانات المتغير مع أكبر نوع بيانات.

جافا كيفية إنهاء البرنامج

يوجد أدناه ترتيب التحويل التلقائي للنوع. يمكنك أيضًا أن تقول ، من أصغر إلى أكبر نوع بيانات لتحويل النوع.



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

يمكن أن تفقد التحويلات الضمنية معلومات مثل فقدان العلامات عندما يتم تحويل الكتابة الموقعة ضمنيًا إلى كتابة غير موقعة ويمكن أن يحدث تجاوز السعة عندما يتم تحويل طويلة ضمنيًا إلى عدد عشري.

الآن دعونا نلقي نظرة على مثال لفهم كيفية عمل تحويل النوع الضمني في C ++.

مثال

# تضمين باستخدام مساحة الاسم std int main () 12w {int1 = 100 // صحيح int1 char char1 = 'c' // حرف char1 // char1 تم تحويله ضمنيًا إلى int باستخدام قيمة ASCII لـ 'c' ie 99 int1 = int1 + char1 // يتم تحويل int1 ضمنيًا إلى float flt1 = int1 + 2.7 cout<< 'int1 = ' << int1 << endl << 'char1 = ' << char1 << endl << 'flt1 = ' << flt1 << endl return 0 }

انتاج |

int1 = 199

char1 = ج

flt1 = 201.7

التالي في هذا النوع التحويل في مقالة C ++ ،

صريح نوع التحويل

تحويل النوع الصريح أو تحويل النوع هو تحويل النوع المحدد من قبل المستخدم. في تحويل النوع الصريح ، يحول المستخدم نوعًا واحدًا من المتغيرات إلى نوع آخر. يمكن إجراء تحويل النوع الصريح بطريقتين في C ++:

  • التحويل عن طريق التنازل
  • التحويل باستخدام عامل تشغيل المصبوب

دعونا الآن نلقي نظرة على كل طريقة من طرق تحويل الكتابة الصريحة إلى نوع إلى آخر.

التحويل عن طريق التنازل

في هذا النوع من التحويل ، يتم تحديد النوع المطلوب صراحةً أمام التعبير بين قوسين. يحدث فقدان البيانات في نوع الإرسال الصريح. يعتبر بمثابة صب قوي. لنلقي نظرة على مثال.

مثال

# تضمين باستخدام مساحة الاسم std int main () {double dbl1 = 8.9 // تحويل صريح من double إلى int res = (int) dbl1 + 1 cout<< 'Result = ' << res return 0 }

انتاج |

النتيجة = 9

التالي في هذا النوع التحويل في مقالة C ++ ،

التحويل باستخدام Cast Operator

عامل Cast هو مشغل أحادي يفرض تحويل نوع بيانات إلى نوع بيانات آخر. هناك أربعة أنواع من الصب في C ++ ، أي Static Cast و Dynamic Cast و Const Cast و Reinterpret Cast.

  • يلقي ثابت - هذا هو أبسط نوع يمكن استخدامه. إنه لا يقوم فقط بأداء المنعطفات ، ولكن أيضًا ينخفض. إنه وقت تجميع يلقي. لا يتم إجراء عمليات التحقق أثناء وقت التشغيل لضمان أن الكائن الذي يتم تحويله هو كائن كامل من نوع الوجهة.
  • المصبوب الديناميكي - يضمن أن نتيجة تحويل النوع تشير إلى كائن صالح وكامل لنوع مؤشر الوجهة.
  • يلقي كونست - يعالج ما إذا كان الكائن يحتاج إلى أن يكون ثابتًا أم غير ثابت. إنه يضمن أن الثابت يحتاج إلى ضبط أو إزالته.
  • إعادة تفسير المصبوب - يحول أي نوع مؤشر إلى أي نوع مؤشر آخر ، حتى من الفئات غير ذات الصلة. لا يتحقق مما إذا كان نوع المؤشر والبيانات التي يشير إليها المؤشر متطابقة أم لا.

دعونا نلقي نظرة على مثال من التمثيل الثابت ،

مثال

# تضمين باستخدام مساحة الاسم std int main () {float flt = 30.11 // باستخدام عامل التشغيل المصبوب int1 = static_cast (flt) cout< 

انتاج |

تاريخ جديد جافا من السلسلة

30

يقودنا هذا إلى نهاية هذه المقالة حول تحويل النوع في C ++.آمل أن تكون قد وجدت هذه المعلومات مفيدة ومفيدة ، ترقبوا المزيد من البرامج التعليمية حول مواضيع مماثلة. يمكنك أيضًا مراجعة برنامجنا التدريبياحصل على معرفة متعمقة حول jQuery مع تطبيقاته المختلفة ، يمكنك ذلك للتدريب المباشر عبر الإنترنت مع دعم على مدار الساعة طوال أيام الأسبوع وإمكانية الوصول مدى الحياة.

لديك سؤال لنا؟ أذكرها في قسم التعليقات في هذه المقالة وسنعاود الاتصال بك.