я нигде не писал, что деструктор у меня вызывается дважды
хинт: читать внимательно условие в 1ом посте, там все написано
Там написано "надо корректно обрабатывать ситуацию повторного вызова деструктора.". Если повторного вызова не будет, то ситуация считается очевидным образом обработанной на уровне выше. А если будет, то см. первое сообщение - поскольку ты плаваешь в азах, то ответить надо в первую очередь на те вопросы.
не понимаю, по-моему 1ая версия деструктора вполне сойдет, там даже есть избыточность по обнулению, но это ладно...
Что значит "даже"? Это единственное, что там есть, и это мелочь. Возможно, даже тупо if дольше будет выполняться, чем эти обнуления - мало ли, как предсказатель ветвлений сработает. А падения или прочей фигни всё равно не будет.