Atribuindo uma referência desreferenciando um ponteiro NULL

int&  fun()
{
    int * temp = NULL;
    return *temp;
}

No método acima, estou tentando fazer a desreferenciação de um ponteiro NULL. Quando eu chamo essa função, ela não dá exceção. Eu descobri que quando o tipo de retorno é por referência, ele não dá exceção se for por valor, e sim. Mesmo quando a referência ao ponteiro NULL é atribuída à referência (como a linha abaixo), ela também não fornec

int* temp = NULL:
int& temp1 = *temp;

Aqui minha pergunta é que o compilador não faz o cancelamento de referência em caso de referênci

questionAnswers(5)

yourAnswerToTheQuestion