שיעור 0: למה בכלל C++?
בשיעורים הקודמים ב-C ראית איך שפה כזו נותנת שליטה מלאה בזיכרון ובחומרה — אבל במחיר: כל בסיס קוד גדול הופך למאמץ ידני לתחזק, בלי מחלקות, בלי תבניות, בלי כלים לארגן את הכול. אז למה בכלל להוסיף עוד שפה, C++, שנשמעת מסובכת עוד יותר? כי יש תחומים — מנועי משחקים שחייבים לצייר פריים חדש כל 16 מילישניות כדי
C++ הוא כמו C עם ערכת כלים לארגון: אותה שליטה מדויקת בזיכרון ובזמן, ועוד דרך לבנות מערכות גדולות בלי שהקוד יהפוך לבלגן.
- איסוף זבל (garbage collection)
- מנגנון אוטומטי שמשחרר זיכרון שכבר לא בשימוש, אך עלול לעצור את התוכנית לזמן בלתי-צפוי כדי לבצע את הניקוי.
- אילוץ זמן-אמת
- דרישה שפעולה תסתיים בתוך חלון זמן קבוע וידוע מראש — למשל, לצייר פריים כל 16 מילישניות כדי לשמור על 60 פריימים בשנייה.
- שליטה ידנית בזיכרון
- היכולת לקבוע במדויק מתי מוקצה זיכרון ומתי הוא משוחרר, בלי להסתמך על תהליך רקע בלתי-צפוי.
- הפשטה בקנה מידה גדול
- כלים לארגון קוד גדול — מחלקות, תבניות וספריית STL — שמאפשרים לבנות מערכות מורכבות בלי לאבד שליטה על ביצועים.