Сделать указанную длину массива при использовании new с указателями - PullRequest
0 голосов
/ 12 февраля 2020

Я пытаюсь создать массив указанной длины, используя new. Вот пример кода:

int n = 13
int* a = new int[n];
int g = *(&a + 1) - a; // array length

Последняя строка получает смешные числа, даже когда я указал длину этого массива int.

1 Ответ

0 голосов
/ 13 февраля 2020

Массив указателей не может иметь одинаковую заданную длину, вместо этого используются векторы.

int n = 13;
vector<int> a;
for(int i = 0; i < n; i++)
    a.push_back(i); //! Insert needed values instead of i if required
cout<<"vector a length is "<<a.size();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...