Удаление массива объектов класса?

Почти всем известно, что приведенный ниже код правильно освобождает память для 100 целых чисел.

int* ip = new int[100];
delete [] ip; 

И я думаю, что даже для пользовательских классов это работает :

Node* ip = new Node[100];
delete [] ip; 
  1. В первом случае определяется ли размер освобождаемой памяти (400 байт) во время компиляции? В основном, что происходит внутри?

  2. Во втором случае будет ли деструктор узла вызываться для каждого из 100 объектов?

По сути, я использовал этот синтаксис, но никогда не понимал что происходит внутри, и теперь мне любопытно.

5
задан Unihedron 11 August 2014 в 10:12
поделиться