... int i = 100; foo *ptr = new foo[i]; ... delete []ptr; //откуда здесь становится известно о количестве элементов в массиве?