Здравствуйте, rg45, Вы писали:
R>Некоторые ошибочно ожидают
Почему меня должны волновать чьи-то ошибочные ожидания. Мне приводят в качестве примера код:
class Processor {
public:
virtual void start() = 0;
// stops execution, returns `false` if already stopped
virtual bool stop() = 0;
virtual ~Processor() {
stop();
}
};
И пишут что здесь проблема в том что "в конструкторах и деструкторах в C++ виртуальная диспетчеризация методов не работает". Я повторяю она работает и в стандарте написано как работает. Здесь всего одна проблема — виртуальный вызов чисто виртуальной функции. Вот это UB. И как раз об этом там ни слова.
-