Нахождение размера динамически распределенного массива - PullRequest
0 голосов
/ 16 июня 2011

Простой вопрос, хотя я не могу найти ответ быстрее.

Я использую ключевое слово Динамическое выделение через 'new' для выделения порции памяти для массива, как

int *array = new int[size]; //The Size is got by some logic

А теперь, в конечном счете, мне нужно проанализировать этот массив, чтобы получить / вычислить размер этого массива.

Я ничего не понимаю здесь. Пожалуйста, помогите мне.

Заранее спасибо:)

1 Ответ

8 голосов
/ 16 июня 2011

Вам нужно сохранить размер выделения в отдельной переменной, чтобы знать, что это было после того, как вы сделали с new.

С другой стороны, C ++ предлагает вам инструмент под названием std::vector, который решит вашу проблему без использования new и сохранения размера (а также без ограничения по размеру).

Так что, если вам нужно предварительно выделить размер, вы можете использовать:

vector<int> array(size);

Но обычно вы просто объявляете

vector<int> array;

, затем заполните и заполните его и запросите array.size(), чтобы узнать, сколько всего предметов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...