מאמרים בנושא ‏C++‎‏‏.

ניהול זכרון ב־C++‎ - האגדות והמציאות

ב־יום ראשון, 17 באוגוסט 2008, מאת ארתיום; פורסם תחת: פיתוח, תכנה ומחשבים, C++‎‏; ‏14 תגובות

אחת הסיבות שמפתחים רבים כל־כך אוהבים את C#/Java, היא העובדה שהזיכרון מנוהל ע"י Garbage Collector ומסיר (כמעט) כל דאגה לניהול הזיכרון מהמפתח.

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

באמת, אם כותבים ב־C++‎ כמו שכתבו ב־C, זה יהיה קשה באותה מידה. אבל אם כותבים כפי שצריך לכתוב, אפשר (כמעט) לשכוח מכל הנושא של ניהול זיכרון --- הוא הופך להיות שקוף לא פחות מאשר ניהול שלו ב־Java, רק עדיין משאיר לך אופציות בחירה כשאתה באמת צריך את זה.

נתחיל עם הדוגמאות. אני אציג שלושה קטעי הקוד: אחד ב־Java, אחד ב־C ואחד ב־C++‎. בכל אחת מהדוגמאות, אני אצור מבנה זהה, המורכב מאובייקט שמחזיק הפניות/מצביעים לשני אובייקטים אחרים.

המשך...

העמוד הבא

העמוד הבא

דפים

נושאים