A exclusão do ponteiro vazio garante a exclusão do tamanho correto? [duplicado]

Duplicata Possível:
É seguro excluir um ponteiro vazio?

Digamos que eu tenha umnew alocação para uma classe chamadaMyClass e alocação é tão simples como:

MyClass *myClassPtr = new MyClass();

E eu armazeno referência à lista devoid* onde eu simplesmente digo

myListOfPointers.add(static_cast<void*>(myClassPtr)); // this has to be void*

E depois eu libero memória então ao invés de fazer:

delete myClassPtr

Eu uso:

delete MyListOfPointer.get(0)

(Digamos que a referência myClassPtr esteja no índice zero.) Além disso, observe que ela deve servoid* já que essa lista pode armazenar diferentes tipos de ponteiros para que eu não saiba o tipo de ponteiro que estou excluindo:

Então eu não posso fazer nada como:

delete static_cast<MyClass*>(MyListOfPointer.get(0))

É assim que vai liberar o tamanho correto da memória? (sizeof(MyClass))

Nota:
Eu não estou procurando por nenhuma resposta apontando para ponteiros inteligentes.

questionAnswers(4)

yourAnswerToTheQuestion