Поскольку во время использования нового ключевого слова можно указать только размерность массива, а не аргументы для конструктора.
Каноническим способом в языке c ++ является использование std::vector
:
std::vector<int> array(10, 42);
// ^ ^
// | | the value
// | the size
Другой способ инициализации std::vector
с другими значениями состоит в использовании std::initializer_list
, например, так:
std::vector<int> array = { 1, 2 , 3, 4, 5, 6 , 55, 0, -2, 42, -16 };
Примечание:
В c ++ вы должны использовать new
и delete
только для очень редких случаев в вашем собственном коде.Они действительно продвинуты, и вы должны быть на 100% уверены, что ваш вариант использования действительно требует этого.
Ручное управление памятью обычно вообще не требуется, а стандартная библиотека c ++ предоставляет
, которые освобождают вас от всехПодводные камни ручного динамического управления памятью.
Просто используйте этот материал, любой, кто требует, чтобы вы что-то делали, скорее всего, некомпетентен или был одурачен мифами о том, что использование материала из стандартной библиотеки повлечет за собой значительное снижение производительности.