Предположим, вы создаете массив объектов на куче, например:
myClass * objectPtr = new myClass[10];
new
вызывает только конструктор по умолчанию и (на основе моих чтений) не позволяет вызвать какой-либо другой конструктор.
Есть ли какая-то логика, почему new
не может вызвать какой-либо другой конструктор? Казалось бы, лучше сделать что-то вроде
myClass * objectPtr = new myClass[10](12);
в отличие от
myClass * objectPtr = new myClass[10];
objectPtr[0] = myClass(12);
objectPtr[1] = myClass(12);
...