מערכת טיפוסים – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
אין תקציר עריכה
מ הוספת קישור למספר שלם
שורה 10:
 
==== הסקת טיפוסים ====
ישנן שפות בעלות טיפוסיות סטטית המאפשרות למתכנת שלא להצהיר על הטיפוס של המשתנה, וה[[מהדר]] יודע לגלות זאת בעצמו על סמך הביטויים בהם הוא משתתף. למשל בהצהרה כגון: ;var x = 5, ניתן להבין שהמשתנה x הוא מטיפוס [[מספר שלם]], או מטיפוס כלשהו שניתן להמיר אליו במובלע (ביצוע coercion) מספרים שלמים. ישנן דרכים נוספות לגלות זאת, בהן בדיקה אילו אופרטורים מופעלים על המשתנה, או לאילו פונקציות הוא מועבר כפרמטר.
 
תכונה זו, הנקראת הסקת טיפוסים (Type Inference) מאפשרת למתכנת להימנע מלהגדיר את הטיפוס שבו הוא עוסק, ואפילו לא לדעת אותו (דבר שעשוי לקרות למשל בעת שימוש ב־Template Metaprogramming ב־++C). יתרון נוסף של תכונה זו הוא הקלות שבה ניתן לכתוב פונקציות [[פולימורפיזם (מדעי המחשב)|פולימורפיות]] בדרך זו.