Это так же просто, как
for (int i = 0; i < _size; i++)
_buff[i] = Object{};
Кроме того, вы можете избавиться от цикла и добавить пару {}
(или ()
) здесь:
_buff = new Object[_capasity]{};
// ^^
Но эта опция будет инициализировать все _capasity
объекты, а не первые _size
объекты, как отмечено @bipll.
Также обратите внимание, чтоесли вы хотите имитировать поведение std::vector
, вам нужно выделить необработанные хранилища (вероятно, std::aligned_storage
) и вызывать конструкторы (с помощью размещения нового) и деструкторы вручную.
Если Object
является классомtype, _buff = new Object[_capasity];
вызывает конструкторы по умолчанию для всех _capasity
объектов, а не для первых _size
объектов, как std::vector
.