Step 5 (S-7042)

From Stepik Wiki
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/543/step/5

Step 5 (S-7042) 1.png

[00:00 - 00:15] да теперь напишем универсальный код который будет выделять двумерный массив итог заданного размера мы обернем этот код функцию для создания примерно могли бы описать фунциклирует реврайте


[00:15 - 00:34] на вход эта функция будет получать размерность в нашем случае это 2 числа а и б замечу сразу что мы здесь используем тип сайта так вот специально для указания размер массива типов


[00:34 - 00:54] внутри функции мы делаем ровно то же что и в предыдущем примере мы сначала выделяем массив с указателями на строки так строг у нас а то в этом осеевой алиментов типа индия и дальше в цикле каждому элементу


[00:54 - 01:10] этого массива присваиваем строк пишем срок мы также динамически выделяемый в конце возвращает указатель на массив указателей на строки для того чтобы удалить такой массив


[01:10 - 01:27] нам потребуются передать функцию указатель но тут вася который мы хотим освободить и его размерности ударение выпускать обратном порядке мы сначала пробежали


[01:27 - 01:44] по всем показателям настроить указатель настройки и удалить каждый массив который соответствует строчке да то есть то что выделяли здесь в вот и в конце мая


[01:44 - 02:00] удали уже непосредственно массив с указателями на строки замечу что при таком подходе к реализации примерно массива нам при удалении не нужно знать


[02:00 - 02:17] 2 размер она здесь указана исключительно это что функция выглядели единообразно размерность бы нам не нужна просто потому что оператор delete не требуют указания размера удалить для того чтобы освободить


[02:17 - 02:35] сильно памяти он использует некую служебную информацию которая там тоже присутствует соответственно 2 размерность нам не требуется отметим также что у данного подхода есть серьезный недостаток дело в том что


[02:35 - 02:50] при выделении мочи мы а + 1 раз вы за операторскую что с 1 стороны может рассматриваться как достаточно долгой операции с другой стороны наш массив получается


[02:50 - 03:05] несвязным то есть он состоит из кусочков которые соответствуют строчкам + а строка с указателями настройки получается что при таком подходе мы достаточно сильно фрагментирован врать


[03:05 - 03:12] на следующий день подходит для выделения двумерном массиве