עבור לתוכן

שאלה ב- ++C

Featured Replies

פורסם

מישהו יודע להגיד לי איזה constructor's ואופרטורים נוצרים אוטומטית ע"י הקומפילר במקרה שאני לא מגדיר אותם ספציפי

אני יודע ש-

default ctor

copy ctor

assignment operator

destructor

פיספסתי משהו ?

פורסם

לדעתי לא.

שים לב שה-default ctor נוצר אך ורק אם אתה לא מגדיר אף אחד אחר, בניגוד לכל השאר שנוצרים בכל מקרה (הדרך היחידה למנוע את השימוש בהם היא להגדיר אותם בתור private).

פורסם
  • מחבר

מה לגבי אופרטור כתובת "&" ?

פורסם

עד כמה שאני יודע לא ניתן לדרוס אותו

תראה, אפשר להגיד שנוצרים אוטומטית גם NEW ו DELETE ו DELETE[]

שגם אותם הרי אתה יכול לדרוס (את ה operator new ולא את ה new operator שיש בינהם הבדל...)

פורסם
  • מחבר

הבנתי.... :cool2:

תודה :xyxthumbs:

פורסם

בד"כ הסיבה העיקרית לדרוס את & זה כשאתה כותב ספריה של smart pointer.

ואם אתה כותב ספריה של smart pointer:

1) תעצור. זה קשה ומלא דברים שלא חשבת עליהם.

2) תסתכל על ספריות קיימות שבשימוש נפוץ, לדוגמא boost. שם יהיה smart pointer בלי באגים.

3) אם זה למטרת שימוש - תעצור כאן ותשתמש במשהו קיים.

4) אם זה למטרות לימוד, תמשיך, אבל תלמד גם מספריות קיימות ותקרא קצת מאמרים על הנושא.

פורסם
  • מחבר

בד"כ הסיבה העיקרית לדרוס את & זה כשאתה כותב ספריה של smart pointer.

ואם אתה כותב ספריה של smart pointer:

1) תעצור. זה קשה ומלא דברים שלא חשבת עליהם.

2) תסתכל על ספריות קיימות שבשימוש נפוץ, לדוגמא boost. שם יהיה smart pointer בלי באגים.

3) אם זה למטרת שימוש - תעצור כאן ותשתמש במשהו קיים.

4) אם זה למטרות לימוד, תמשיך, אבל תלמד גם מספריות קיימות ותקרא קצת מאמרים על הנושא.

אני לא מתכוון לדרוס את &, רציתי לדעת אם הוא נוצר אוטומטית ע"י הקומפיילר במקרה שאני לא מגדיר כלום, כמו אופרטור =

הופיעה לי שאלה במבחן לגבי מספר פונק' הממשק בתוכנה נתונה, אז חוץ מהפונקציות הנורשות רציתי לדעת מה עוד נוסף באופן אוטומטי

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים