W końcu jak mógłby zwolnić pamięć za pomocą delete[] skoro nie znałby rozmiaru tablicy/ilości zaalokowanych bitów/bajtów.
Ilość elementów tablicy z reguły zapisywana jest na ujemnym offsecie i (może być) tylko dla typów z destruktorem. Oczywiście standard nie definiuje tego, dlatego nie powinieneś opierać swojego programu o takie wydłubywanie wielkości tablicy. Użyj lepiej klasy std::vector.