Следующим развитием динамического массивая явлется вектор.
Основные отличия:
1) Возможность изменять размер массива по ходу выполнения программы.
2) Более затратен по выделяемой памяти.
Для создания требуется подключить библиотеку:
Объявление целочисленного вектора для 10 элементов:
или тоже самое только с начальным значениям в ячейках массива 0:
Для заполнения вектора есть 2 способа.
1) Выделяем память для n-го количества элементов и заполняем их, считывая их с клавиатуры.
int n;
cin >> n;
vector <int> a(n);
for (int i = 0; i < n; i++)
cin >> a[i];
2) Второй способ бывает нужен когда количество элементов неизвестно. Сначала создается пустой вектор, а потом с помощью метода push_back новый элемент добавляется в конец вектора.
int n;
cin >> n;
vector <int> a;
for (int i = 0; i < n; i++) {
int b;
cin >> b;
a.push_back(b);
}
Получить количество элементов в векторе: