איסוף זבל (מדעי המחשב) – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
Gilkolin (שיחה | תרומות)
הוספתי קישור לטקסט "מצביעים חכמים" לדף הרלוונטי. בנוסף הוספתי ערך זה ל"ראו גם"
שורה 17:
בשפת [[C Plus Plus|++C]], בדומה לשפת [[C (שפת תכנות)|C]], לא קיים איסוף זבל אוטומטי, אבל ניתן לדמות איסוף זבל אוטומטי באמצעות "[[מצביע חכם|מצביעים חכמים]]", אובייקטים שעוטפים מצביעים רגילים ומנהלים את איסוף הזבל של הזיכרון אליו הם מצביעים באופן אוטומטי (למשל באמצעות [[#מניית התייחסויות|מניית התייחסויות]]). מנגנון זה פותר חלק מהבעיות הקשורות בדליפת זיכרון, אך לא מאפשר לטפל באופן אוטומטי בכל תבנית של ניהול זיכרון.
 
שפת [[ראסט (שפת תכנות)|Rust]] אוכפת בזמן קומפילציה, דרך מערכת הטיפוסים, ניהול חוקי של הזיכרון. בכך הופכת השפה את איסוף הזבל בזמן ריצה לטריוויאלי, ומשיגה יעילות יחד עם היעדר דליפות זיכרון. המחיר הוא מערכת טיפוסים מורכבת ולעיתים לא אינטואיטיבית, שדורשת השקעה משמעותית על מנת לקמפל תוכניות.
 
==טכניקות איסוף זבל אוטומטי==