C++/זיכרון דינמי: הבדלים בין גרסאות בדף

תוכן שנמחק תוכן שנוסף
Ybungalobill (שיחה | תרומות)
אין תקציר עריכה
Ybungalobill (שיחה | תרומות)
שורה 36:
== פרטים על האופרטורים new ו-delete ==
 
* כאשר אין אפשרות להקצות את הזיכרון הנדרש האופרטור new יחזיריזרוק מצביעחריגה bad_alloc (למד על חריגות בהמשך). אם נרצה שאופרטור זה יחזיר 0 (NULL) אובמקרה יזרוקזה חריגהנציין bad_allocnothrow בסוגריים עגולים בהתאםאחרי להגדרותהמילה המהדרnew.
* זיכרון שהוקצה ע"י new צריך לשחרר ע"י delete וזיכרון שהוקצה ע"י []new צריך לשחרר ע"י []delete, אחרת אופן פעולת התוכנית לא מוגדר והיא עלולה לקרוס.
* אם נשתמש בפונקציות של C להקצות זיכרון, אין לשחרר אותו באמצעות אופרטורי ++C, ולהיפך.