Loading...

Какво е "Memory management"?

avatar Георги Кацаров 1 минута
Какво е "Memory management"?

Ако вече сте усвоили умения в C++ като познаване на основния синтаксис на С++ и неговите особености или работа с масиви, линейни и асоциативни STL контейнери, може би си задавате въпроса, какво още имате да изучавате в С++, за да го усвоите още по-добре?

Едно от най-важните неща, които трябва да имате в предвид при работа със С++ и които трябва да умеете перфектно, е управлението на паметта (т.нар. “Memory Management”). Това е ресурсно управление, приложено към компютърната памет. Неговата цел е оптимално използване на личната изчислителна мощ; когато дадена програма се нуждае от изчислителен ресурс – тя да го намира, а когато извърши изчисленията си – да го освобождава за нуждите на други програми или системи. Управлението на паметта е от критично значение за всяка една система, която извършва повече от едно дадено действие в даден момент или казано иначе – за всяко едно приложение днес.

Изпълнението на заявката за алокация на памет, се състои от локализиране на неизползван блок памет, който да има достатъчен размер. Блоковете са свързани в по-големи групи, които се наричат „heap” (купчини) или „свободен резерв“. В даден момент някои блокове от този heap са заети, докато други са свободни и по този начин подходящи за предстоящи алокации.

Известни са някои проблеми, които усложняват процеса по управление на паметта, като например външната фрагментация (external fragmentation), която се проявява, когато има множество малки празнини между алокираните блокове памет, която изключва тяхната употреба при други заявки за алокация. Метаданните на алокатора също могат да раздуят размера на индивидуалните, малки алокации. Друг проблем, който е следствие на недоброто или невнимателно управление на памет, са т.нар. „Memory leaks“ („течове на памет“).

Управлението на памет далеч не е единственото нещо, което ви очаква напред, по пътя на вашето развитие с езика С++. Ако искате да усвоите управлението на паметта, създаването на конструктори и деструктори, както и правилното организиране на код при по-мащабни проекти – запишете курса „C++ Advanced - януари 2019“ още днес! Това е вашият шанс!

Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.