Найти в Дзене

Динамический массив

Динамические массивы в общем и целом похожи на обычные массивы фиксированной длинны за исключением некоторых моментов. Для работы с динамическим массивом уже требуются начальные знания и понимание работы указателей. В случае, где размерность массива задается пользователем необходимо применят динамические массивы. Для его объявления требуется использовать специальную функцию выделения памяти new. int num; // размер массива, в дальнейшем принимается из потока ввода. int *arr = new int[num]; // выделение памяти для элементов массива. В данном объявлении видно как объявляется указатель на элемент целочисленного типа *arr после чего происходит присвоение выделенной памяти. Функция new int[num] выделяет массив размерностью num, где каждый элемент массива является целым числом. Как и в обычном массиве, все элементы динамического массива эквивалентны друг другу по типу данных. По аналогии с классическим объявлением массива и использованием std::array, динамический массив тоже имеет современную

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

int num; // размер массива, в дальнейшем принимается из потока ввода.

int *arr = new int[num]; // выделение памяти для элементов массива.

В данном объявлении видно как объявляется указатель на элемент целочисленного типа *arr после чего происходит присвоение выделенной памяти. Функция new int[num] выделяет массив размерностью num, где каждый элемент массива является целым числом.

Как и в обычном массиве, все элементы динамического массива эквивалентны друг другу по типу данных. По аналогии с классическим объявлением массива и использованием std::array, динамический массив тоже имеет современную реализацию на С++. Такой реализацией является std::vector. Подробно о всех возможностях std::vector можно ознакомиться в статье.

Для использования std::vector требуется подключить директиву:

#include <vector>

Объявление std::vector происходит следующим образом:

std::vector<int> v1, v2, v3;

В данном примере объявляется 3 std::vector. Стоит отметить, что их длинна не фиксирована и не определена. Добавление элементов происходит с помощью функции:

v1.push_back(10);

Помимо этой функции вставки элемента в конец std::vector есть и другие функции позволяющие вставить элемент в любую позицию в std::vector.