Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Тут и delete this

int main() {
auto plugin = *getNewPlugin();
// do something ...
} /* plugin будет убит автоматом, без всяких вызовов plugin.free() */
По сути: моя претензия была не к delete this, а к его оформлению. В методе free должен быть только delete this (плюс страшный комент на тему «сюда больше ничего не писать»), вся остальная логика — в деструкторе (который будет этим delete вызвано).
Как быть если компилятор не поддерживает интерфейсы с нулевым смещением VMT