Dlaczego poniższy fragment kodu nie ulega awarii, mimo że usunąłem obiekt?

<code>class object
{
  public:
    void check()
    {
      std::cout<<"I am doing ok..."<<std::endl;
    }
};

int main()
{
  object *p = new object;
  p->check();
  delete p;
  p->check();
  delete p;
  p->check();
}
</code>

EDYTOWAĆ: Guru, jestem zdezorientowany przez wiele stwierdzeń „może się zawiesić lub nie”. Dlaczego nie ma standardu do powiedzenia, w jaki sposób mamy do czynienia z blokiem pamięci, który jest usuwany za pomocą „usuń operatora” ..? Jakieś dane wejściowe?

questionAnswers(10)

yourAnswerToTheQuestion