Задать вопрос
Этот вопрос закрыт для ответов, так как повторяет вопрос Как сделать массив если не знаешь его размера с++?
@ekaterinask

Как в C++ создать массив с неизвестным числом элементов?

Необходимо создать массив, состоящий из n элементов.
Пользователь вводит n, после чего массив содержит n элементов. Вектор создавать не надо, нужно именно массив.
Возможно ли это вообще сделать?
  • Вопрос задан
  • 857 просмотров
Подписаться 1 Средний
Ответы на вопрос 3
wataru
@wataru Куратор тега C++
Разработчик на С++, экс-олимпиадник.
Можно через new[] выделить массив:
cin >> n;
int *array = new int[n];
// ввод, и работа с массивом.

// не забудьте в конце удалить выделенную память.
delete[] array;
Ответ написан
@dima20155
you don't choose c++. It chooses you
Вектор лишь класс, который предоставляет удобный способ работать с базовой структурой данных типа массив, только динамический (количество элементов можно изменить в момент исполнения программы)
Невозможно создать массив переменного числа элементов на этапе компиляции

Так что есть два выхода:
1. Создать массив со статически определенным количеством элементов (например, 100), но заведомо большим, чем введет пользователь (но опять же, это важно проверять)
2. Создать динамический массив, хранящий данные в куче (используя std::vector или просто new/malloc)

https://stackoverflow.com/questions/68073934/how-t...
Ответ написан
@rPman
Можно, если размер во время инициализации - константа, описать тип через шаблоны
template<typename T, size_t size>
class MyArray
{
T data[size];
...
}
докинув методов для работы с массивом, включая оператор[]... а еще лучше, воспользоваться готовым std::array
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы