smart pointeurs et les tableaux

Comment pointeurs intelligents en charge les tableaux? Par exemple,

void function(void)
{
    std::unique_ptr<int> my_array(new int[5]);
}

Quand my_array est hors de portée et obtient détruits, l'ensemble du tableau d'entiers re-réclamé? N'est que le premier élément du tableau récupéré? Ou est-il autre chose (comme un comportement indéfini)?