כמה דברים נוספים
קודם כל ל class יש destructors ול struct אין. דבר שני הנתונים מתנהגים אחרת בהשמה בגלל שאופן טבעי כשמדברים על משתנה שהוא reference אפשר פשוט ליצור עוד reference אבל כשמדברים על ערך ממשי, כמו ב struct אז אתה יוצר עוד מופע בזיכרון. חוץ מזה זה לא מדוייק ש struct תמיד יווצר ב stack, הקצאת הזכרון תעשה במקום בו היא מתבצעת, כלומר שאם אתה מבצע את ההקצאה לאובייקט החדש שלך מה stack (כמו למשל במקרה של משתנה מקומי במתודה) הזיכרון לאובייקט struct יתבצע על ה stack, אבל אם אתה מבצע את ההקצאה מה heap (לדוגמה data member מסוג struct בתוך אובייקט class) אז גם אם זה struct ההקצאה תתבצעה על ה heap.