Step 7 (S-7033)

From Stepik Wiki
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/542/step/7

Step 7 (S-7033) 1.png

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


[00:18 - 00:34] для того чтобы создать перемены на стыке надо просто увеличить размер соответствующий соответствующего значения для того чтобы выделить переменную динамической памяти надо выделить область для хранения то переменной а это обращение


[00:34 - 00:51] этого места в начало потом выделение освобождение общем достаточно много работы по сравнению с выделением переменная на стыке 2 проблема та же возникает повезло потребление конечной памятью когда мы начинаем


[00:51 - 01:07] выделять множество маленьких кусочков этом случае происходит пропитаться то есть несмотря на то что память занята не полностью быть половина арки насчет того что память занята и равномерно


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


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


[01:41 - 01:59] если какой то момент забыть освободить указатель или перезаписать указатель то вы ставите на которой он оказывал останется без внешних ссылок и программа может удалить ее до того как завершится давайте посмотрим пример пусть надолго


[01:59 - 02:17] некоторым массив размера 1000 не был когда то которыми указаны когда мы перестаем от указатель на массив


[02:17 - 02:32] ссылка на вот эту вы станете удалится после это будет указывать на массив 2 раза больше чем все хорошо но вот эту вы ставите там уже никак не дали и она будет висеть


[02:32 - 02:49] в памяти программой до ее завершения соответствии если ваша программа будет еще в памяти такой томми и вашей программе же не сможет выдержать можно кусочек если забыть освободить указатель то есть не вызвать интерес квадратные скобки произойдет


[02:49 - 03:07] утечка памяти то есть например функции где этот n определен забудем его освободить соответственно этот кусок из 2000 2000 годов так же будет висеть в памяти то завершение работы