ובכל זאת, Undefined Behaviour
אתה רוצה את הציטוט מהסטנדרט? אתה רוצה את הציטוט מהספר של סטרוסטרופ? אתה רוצה ציטוט מ-FAQ? כולם אומרים שזה Undefined Behaviour. אתה אומר שלא. משום מה אני מעדף להיות בטוח ולסמוך עליהם. שום דבר אישי, אבל כמעט תמיד יש צורך ב-DTOR וירטואלי, כאשר יורשים מהמחלקה שלך. לא תמיד, כמעט תמיד. כמו שאוהבים להגיד בקבוצות דיון על ++C, בהתנהגות לא מוגדרת, השפה יכולה לפרמט את הדיסק הקשיח שלך. למה? כי זו התנהגות לא מוגדרת. סביר שזה לא יקרה, אבל גם מאוד סביר שיהיו לך באגים מוזרים, לא תמיד עקביים, כל מיני מריחות זכרון וצרות אחרות. למה? כי זו התנהגות לא מוגדרת. אם אתה יודע מה אתה עושה (אין לך פונקציות וירטואליות אחרות במחלקה, המחלקה שלך איננה מיועדת לירושה (STL כדוגמא), אתה רוצה לחסוך ביצועים), אתה יכול לכתוב DTOR לא וירטואלי. אם אתה לא יודע מה אתה עושה, ויירשו מהמחלקה שלך, כמעט תמיד אתה צריך DTOR וירטואלי. ואם לא? Welcome to the wondefull world of Undefined Behaviour. כל טוב ממני (שיצא לי כבר לרדוף אחרי באג שנבע מהתנהגות כזו במשך ארבעה ימים).