מוזר..
אני בדקתי פה והפלט הוא אחר
http://cpp.sh/8t45q
ואני מבין שהוא יוצר העתק כי הוא תופס BY VALUE
אבל הוא יוצר פעם אחת העתק
ופעם אחת נבנה "רגיל"
כלומר יהיו בסה"כ שני אובייקטים. ובמהלך התוכנית הוא עובר 3 פעמים בDestructor.
אשמח להסבר איך זה קורה. כי אני מפספס פה משהו..
על מנת לראות שאני לא טועה, מימשתי בנאי העתקה סטנדרטי, שבעצם לא עושה כלום חוץ מהדפסה ("להראות נוכחות" בפלט)
אז יש מעבר פעם אחת ב A's Ctor
ופעם אחת מעבר ב A's copy ctor.
שני אובייקטים סה"כ. 3 פעמים מעבר במפרק (?)
גרסה אחרת של VISUAL..
כל מי שבדקתי אצלו בכיתה שמשתמש בגרסת VS אחרת, השורה לא הופיעה.
(Ultimate או משהו אחר)
אני היחיד שהשורה הזו הודפסה אצלו
עכשיו אני מבין שזה נובע ומושפע מהגרסא ומהתקן. אבל שוב, אני אשמח שתסביר לי
איך נוצרו 2 אובייקטים, אבל 3 פעמים יש מעבר ב מפרק
תודה!