shared_ptr magic :)

Мы с господином Лидстремом поспорили :)

Г-н Лидстрём утверждает, что это конструкция shared_ptr p (new Derived); не требует наличия у Base виртуального деструктора:

Армен Цирунян : «Правда? Будет ли правильно очищаться shared_ptr ? Не могли бы вы в данном случае продемонстрировать, как этот эффект может быть реализован? " shared_ptr знает, что статический тип - Concrete. Он знает это, так как я передал его в его конструктор! Это немного похоже на магию, но я могу заверить вас, что это задумано и очень красиво ".

Итак, судите нас. Как возможно (если это возможно) реализовать shared_ptr , не требуя полиморфных классов иметь виртуальный деструктор? Заранее спасибо

82
задан M.M 11 December 2017 в 07:11
поделиться