C++/העמסת אופרטורים: הבדלים בין גרסאות בדף

new & delete
(אופרטור קריאה לפונקציה)
(new & delete)
<div style="direction: ltr;"><source lang="cpp">
class randGen {
static const int mul = 1664525;
static const int add = 1013904223;
 
int num;
 
int operator () () {
// מחזיר מספר פסאודו אקראי בין 0 לערך המקסימלי
num *= mul1664525;
num += add1013904223;
return num & 0x7FFFFFFF;
}
=== העמסת new ו-delete ===
 
האופרטורים new ו-delete המוגדרים כברירת מחדל, מקצים זיכרון מאיזושהי ערימה הניתנת על ידי המערכת. לרוב זוהי אותה הערימה בה משתמשות הפונקציות ממשפחת malloc ב-C. בתוכנות גדולות נרצה לעיתים להעמיס את האופרטורים new ו-delete, בעיקר כדי לשפר את הביצועים של התוכנה על ידי שימוש ב-pools או על ידי הקצאת זיכרון בשיטה אחרת כלשהי (מעירמה המיוחד שלנו למשל).
לעשות
 
בחלק זה נדגים כיצד להעמיס את האופרטורים האלה, ובשביל הפשטות נשתמש ב-malloc להקצאת הזיכרון.
 
{{C++|מוגבל=כן}}
204

עריכות