כיצד ליישם המרה בצורה הטובה ביותר ב- C ++?



מאמר זה יציג בפניכם טיפוס המרה ב- C ++ ויעקוב אחריו עם הדגמה פרוגרמטית מפורטת עבור אותו.

מאמר זה יציג בפניכם נושא מעניין נוסף שעליו הקלידו המרה C ++ ועקוב אחריו בהדגמה מעשית מפורטת. המצביעים הבאים יוסקרו במאמר זה,

אז בואו נתחיל אז,





הקלד המרה ב- C ++

המרה מסוג מתייחסת להמרה מסוג אחד לאחר. הרעיון העיקרי מאחורי המרת סוג הוא להפוך משתנה מסוג אחד לתואם למשתנה מסוג אחר לביצוע פעולה. לדוגמא, כדי למצוא את הסכום של שני משתנים, אחד מסוג int ושני מסוג float. אז אתה צריך להקליד משתנה cast int כדי לצוף כדי לגרום לשניהם לצוף למציאת הסכום. בבלוג זה נלמד כיצד לבצע המרת סוג ב- C ++.

כיצד לסיים תוכנית בג 'אווה

ב- C ++ ישנם שני סוגים של המרת סוג כלומר המרה מסוג משתמע והמרה מסוג מפורש.



המרה מסוג מרומז

המרה מסוג מרומז או המרה מסוג אוטומטי נעשית על ידי המהדר בפני עצמו. המשתמש אינו דורש טריגר חיצוני להקליד משתנה מסוג אחד למשנהו.

זה קורה כאשר ביטוי מכיל משתנים ביותר מסוג אחד. לכן, בתרחישים אלה המרה מסוג אוטומטי מתבצעת כדי למנוע אובדן נתונים.בהמרה מסוג אוטומטי, כל סוגי הנתונים הקיימים בביטוי מומרים לסוג נתונים של המשתנה עם סוג הנתונים הגדול ביותר.

להלן סדר המרת הסוגים האוטומטיים. אתה יכול גם לומר, סוג הנתונים הקטן ביותר עד הגדול ביותר להמרת סוג.



bool -> char -> int קצר - int -> int חתום -> long -> uns חתום -> long long -> float -> double -> double double

המרות מרומזות עלולות לאבד מידע כגון סימנים יכולים ללכת לאיבוד כאשר סוג החתום מומר באופן מרומז לסוג לא חתום והצפה יכולה להתרחש כאשר זמן ארוך מומר במרומז לצוף.

בואו נסתכל על דוגמה כדי להבין כיצד עובדת המרה מסוג משתמע ב- C ++.

דוגמא

# כלול באמצעות מרחב שמות std int ראשי () 12w {int int1 = 100 // מספר שלם int1 char char1 = 'c' // תו char1 // char1 המומר באופן מרומז ל- int באמצעות ערך ASCII של 'c' כלומר 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 = c

flt1 = 201.7

הבא בהמרה מסוג זה במאמר C ++,

המרה מסוג מפורש

המרה מסוג מפורש או יציקת סוג היא המרת סוג המוגדרת על ידי המשתמש. בהמרה מסוג מפורש, המשתמש ממיר סוג אחד של משתנה לסוג אחר. המרה מסוג מפורש יכולה להיעשות בשתי דרכים ב- C ++:

ג'אווה מה זה אסימון
  • המרה לפי מטלה
  • המרה באמצעות אופרטור Cast

עכשיו בואו נסתכל על כל אחת מהדרכים להקליד את הקלדה, וזורקים סוג אחר.

המרה לפי מטלה

בהמרה מסוג זה הסוג הנדרש מוגדר במפורש מול הביטוי בסוגריים. אובדן נתונים קורה בליהוק מסוג מפורש. זה נחשב כליהוק כוחני. בואו נסתכל על דוגמא.

דוגמא

בובה לעומת שף לעומת אנסיבלי
# כלול באמצעות מרחב שמות std int main () {double dbl1 = 8.9 // המרה מפורשת מכפול ל- int int res = (int) dbl1 + 1 cout<< 'Result = ' << res return 0 }

תְפוּקָה

תוצאה = 9

הבא בהמרה מסוג זה במאמר C ++,

המרה באמצעות Cast Operator

אופרטור יצוק הוא מפעיל אחדות שמאלץ להמיר סוג נתונים אחד לסוג נתונים אחר. ישנם ארבעה סוגים של יציקה ב- C ++, כלומר יציקה סטטית, יציקה דינמית, קונסט קאסט ופרשנות מחודשת.

  • שחקנים סטטיים - זהו סוג הצוות הפשוט ביותר בו ניתן להשתמש. זה לא רק מבצע נפילות, אלא גם נפילות. זהו צוות יצוק זמן. בדיקות לא מבוצעות במהלך זמן הריצה כדי להבטיח שאובייקט המומר הוא אובייקט מלא מסוג היעד.
  • קאסט דינמי - זה מבטיח שתוצאה של סוג ההמרה מצביעה על האובייקט התקף והשלם של סוג מצביע היעד.
  • קונסט קאסט - מניפולציה בין אם האובייקט צריך להיות קבוע או לא קבוע. זה מבטיח כי צריך לקבוע או להסיר את הקבוע.
  • לפרש מחדש את צוות השחקנים - ממיר כל סוג מצביע לכל סוג מצביע אחר, אפילו למחלקות שאינן קשורות. הוא לא בודק אם סוג המצביע והנתונים שמצביע על המצביע זהים או לא.

בואו נסתכל על דוגמה לקאסט סטטי,

דוגמא

# כלול באמצעות מרחב שמות std int ראשי () {float flt = 30.11 // באמצעות מפעיל cast int int1 = static_cast (flt) cout< 

תְפוּקָה

30

זה מביא אותנו לסוף מאמר זה בנושא Type Conversion In C ++.אני מקווה שמצאת זאת אינפורמטיבי ומועיל, הישאר מעודכן לקבלת הדרכות נוספות בנושאים דומים. תוכל גם לבדוק את תוכנית ההדרכה שלנותוכל לקבל ידע מעמיק ב- jQuery יחד עם היישומים השונים שלה לאימונים מקוונים חיים עם תמיכה 24/7 וגישה לכל החיים.

יש לך שאלה עבורנו? הזכר אותם במדור ההערות במאמר זה ונחזור אליך.