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

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