Re: Конструкторы в массиве
От: Кодт Россия  
Дата: 26.04.12 18:48
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Почему в C++ запрещено использование любых конструкторов, кроме конструктора по умолчанию, в случае создания массива объектов?


Почему же запрещено?
struct foo
{
  foo(const char* = "test", int = 123) {} // конструктор, используемый в роли конструктора по умолчанию
  foo(int) {} // конструктор для приведения типа
  foo(int,int,int) {}
};

foo a[10] = { foo(), 123, "qqq", foo(1,2,3), /* остальные элементы будут сконструированы по умолчанию - foo("test",123) */ };
foo *b = new foo[10]; // все элементы будут сконструированы по умолчанию - foo("test",123)
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.